我已經閱讀了很多關於計算javascript日期差異的文章和問題,但是我找不到它們的格式。JavaScript計算兩個日期之間的差異yy-mm-dd
我不需要小時,分鐘或相信它或毫秒......我只需要幾天。我正在檢查以確保有一天發生在同一天或之後。
日期格式2010-10-05
我嘗試這樣做,但我得到的是楠:
var diff = Math.floor((Date.parse(end_date) - Date.parse(start_date))/86400000);
我已經閱讀了很多關於計算javascript日期差異的文章和問題,但是我找不到它們的格式。JavaScript計算兩個日期之間的差異yy-mm-dd
我不需要小時,分鐘或相信它或毫秒......我只需要幾天。我正在檢查以確保有一天發生在同一天或之後。
日期格式2010-10-05
我嘗試這樣做,但我得到的是楠:
var diff = Math.floor((Date.parse(end_date) - Date.parse(start_date))/86400000);
我理解你確實不需要知道多少天除了這兩天,你只需要知道他們是否是同一日期,如果是晚一點的話。在這種情況下,經常使用字符串比較可以告訴您,只要您始終使用格式「yyyy-mm-dd」,兩位數的月份和兩位數的天數;例如'2010-10-05'<'2010-10-16'。
你首先要分析的日期。但建在Date.parse
可能無法識別它。起始於以下:
var dateStr = "2010-10-05";
var regex = /(\d{4})-(\d{2})-(\d{2})/.exec(dateStr);
var date = new Date(regex[1], regex[2] - 1, regex[3]); //Tue Oct 05 2010 00:00:00 GMT+0200 (CEST)
有Date
對象的兩個實例,你可以反正你喜歡比較。然而,你的條件檢查是否有兩個日期是在24小時內,我想這不是你想要的,因爲你的日期沒有時間戳...
感謝您的幫助。 – Oseer
我希望這會幫助你在Firefox
t1="2010-12-20"; //date1
t2="2010-12-30"; //date2
var one_day=1000*60*60*24;
var x=t1.split("-");
var y=t2.split("-");
var date1=new Date(x[0],(x[1]-1),x[2]);
var date2=new Date(y[0],(y[1]-1),y[2]);
var month1=x[1]-1;
var month2=y[1]-1;
_Diff=Math.ceil((date2.getTime()-date1.getTime())/(one_day));
alert(_Diff);
正常工作:
var start_date = "2010-10-05"
var end_date = "2010-10-15"
var diff = Math.floor((Date.parse(end_date) - Date.parse(start_date))/86400000);
alert(diff)
but perhaps this is safer:
var diff = Math.floor(
(
Date.parse(
end_date.replace(/-/g,'\/')
) - Date.parse(
start_date.replace(/-/g,'\/')
)
)/86400000);
alert(diff)
簡簡單單就,切出的第一10chars代替 ' - ' 與' '然後以end_date開始日期。
這是一個醜陋的方式來做到這一點,但是很容易,所以它在任何語言的作品;)
男人,我只是如此習慣JavaScript是如此過分complecated我甚至不期待一個簡單的答案。謝謝! – Oseer
不客氣! – ruakh