我得到了兩個Date對象,我想計算小時之差。如何獲得兩個日期對象之間的小時差異?
如果小時差小於18小時,我想將日期對象推入數組中。
Javascript/jQuery,其實並不重要;最好的做法是什麼。
我得到了兩個Date對象,我想計算小時之差。如何獲得兩個日期對象之間的小時差異?
如果小時差小於18小時,我想將日期對象推入數組中。
Javascript/jQuery,其實並不重要;最好的做法是什麼。
最簡單的方法是直接從相互減去日期對象。
例如:
var hours = Math.abs(date1 - date2)/36e5;
減法返回以毫秒爲單位的兩個日期之間的差。 36e5
是60*60*1000
的科學計數法,將毫秒差值轉換爲小時數。
我的工程師寧願看到'3.6e6'([normalized scientific notation](http://en.wikipedia.org/wiki/Scientific_notation))而不是'36e5'。然而,這本書讀者會喜歡'360000'。 – Blazemonger
給他自己的。 – Boaz
這個簡短的工作代碼謝謝Boaz –
用你得到的時間戳的日期對象上調用valueOf
:
var diff = date2.valueOf() - date1.valueOf();
var diffInHours = diff/1000/60/60; // Convert milliseconds to hours
嘗試使用getTime
(mdn doc):
var diff = Math.abs(date1.getTime() - date2.getTime())/3600000;
if (diff < 18) { /* do something */ }
使用Math.abs()
我們不知道哪個日期是最小的。此代碼可能更相關:
var diff = (date1 - date2)/3600000;
if (diff < 18) { array.push(date1); }
此問題未在http://stackoverflow.com/questions/3224834/get-difference-between-2-dates-in-javascript中回答。 OP特別說:獲得小時(不是天)。 –