我想實現的是如果用戶輸入日期 08/08/2016到08/09/2016 = 1個月 08/08/2016到01/09/2016 = 1個月 甚至 2016年8月8日至30/08/2016 =1個月jquery計算兩個日期之間的月份
所以basicly如果有人想租,從2016年1月8日至30/08/2016一個房間,計1個月
任何人都可以幫助我實現這與jQuery的?
或指點我從哪裏開始。
我想實現的是如果用戶輸入日期 08/08/2016到08/09/2016 = 1個月 08/08/2016到01/09/2016 = 1個月 甚至 2016年8月8日至30/08/2016 =1個月jquery計算兩個日期之間的月份
所以basicly如果有人想租,從2016年1月8日至30/08/2016一個房間,計1個月
任何人都可以幫助我實現這與jQuery的?
或指點我從哪裏開始。
請看看這段代碼。
請注意,雖然測試,以「MM/DD/YYYY」格式即美國日期格式輸入日期。我希望它會幫助你
$(document).ready(function() {
$("#calc").click(function() {
var from = $("#from").val();
var to = $("#to").val();
var monthDifference = 0;
if (from != "" && to != "") {
var fromDate = new Date(from);
var toDate = new Date(to);
calculateMonths(fromDate, toDate, monthDifference);
}
});
function calculateMonths(fromDate, toDate, monthDifference) {
if (fromDate < toDate) {
monthDifference++;
fromDate.setMonth(fromDate.getMonth() + 1);
calculateMonths(fromDate, toDate, monthDifference);
} else
alert("monthDifference "+monthDifference);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
From:
<input type="text" id="from" value="08/08/2016"/>To:
<input type="text" id="to" value="10/08/2016"/>
<br/>
<br/>
<button id="calc">Calculate</button>
歡迎@JeffreyLang ....':)'! – vijayP
使用moment.js你可以做到這一點很簡單的辦法。您需要導入moment.js文件。
// 31 Oct 2013 - 1 Feb 2014
> moment([2014, 1, 1]).diff(moment([2013, 9, 31]), 'months', true)
2.983050847457627
// 31 Oct 2013 - 31 Jan 2014
> moment([2014, 0, 31]).diff(moment([2013, 9, 31]), 'months', true)
3
// 31 Oct 2013 - 30 Jan 2014
> moment([2014, 0, 30]).diff(moment([2013, 9, 31]), 'months', true)
2.967741935483871
[moment.js(http://momentjs.com/) – Andreas
看起來不錯,去看看它,如果我能設法把它關閉。謝謝! –