我在包含日期/時間的網格上有一個字段,我需要知道它與當前日期/時間之間的差異。什麼可能是這樣做的最好方法?如何在JavaScript中減去日期/時間?
115
A
回答
160
這會給你以毫秒爲單位兩個日期之間的區別,
var diff = Math.abs(date1 - date2);
在您的例子,它會是
var diff = Math.abs(new Date() - compareDate);
你需要確保compareDate
是一個有效的Date
對象。
像這樣的事情可能會爲你工作
var diff = Math.abs(new Date() - new Date(dateStr.replace(/-/g,'/')));
即轉向"2011-02-07 15:13:06"
爲new Date('2011/02/07 15:13:06')
,這是Date
構造能夠理解的格式。
21
您只能減去兩個日期對象。
var d1 = new Date(); //"now"
var d2 = new Date("2011/02/01") // some date
var diff = Math.abs(d1-d2); // difference in milliseconds
6
您可以使用getTime()
方法將Date
轉換爲毫秒數自1月1日,1970年那麼你可以很容易做任何算術運算與日期。當然,您可以用setTime()
將該號碼轉換回Date
。見here的一個例子。
6
如果您希望在掛鐘時間,當地時區和日光節能意識方面有所不同。
Date.prototype.diffDays = function (date: Date): number {
var utcThis = Date.UTC(this.getFullYear(), this.getMonth(), this.getDate(), this.getHours(), this.getMinutes(), this.getSeconds(), this.getMilliseconds());
var utcOther = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
return (utcThis - utcOther)/86400000;
};
測試
it('diffDays - Czech DST', function() {
// expect this to parse as local time
// with Czech calendar DST change happened 2012-03-25 02:00
var pre = new Date('2012/03/24 03:04:05');
var post = new Date('2012/03/27 03:04:05');
// regardless DST, you still wish to see 3 days
expect(pre.diffDays(post)).toEqual(-3);
});
DIFF幾分鐘或幾秒鐘處於相同的方式。
10
除非您在相同的瀏覽器客戶端上減去日期,並且不關心日光節約時間更改等邊緣情況,否則最好使用提供強大的本地化API的moment.js。例如,這是我在我的utils.js中有的:
subtractDates: function(date1, date2) {
return moment.subtract(date1, date2).milliseconds();
},
millisecondsSince: function(dateSince) {
return moment().subtract(dateSince).milliseconds();
},
相關問題
- 1. 如何減去日期日期在JavaScript
- 2. 減去日期和時間由JavaScript
- 3. 如何從另一個日期時間減去日期時間?
- 4. 減去日期時間
- 5. 減去日期和時間
- 6. 2。減去日期時間
- 7. 日期時間減去uwp
- 8. 你如何從日期時間減去?
- 9. 如何在mysql中減去日期和時間的小時?
- 10. 減去日期時間在Python
- 11. 如何在C#中減去兩個日期時間值?
- 12. SQL選擇減去日期時間與日期時間
- 13. 如何減去日期時間值並獲取時間
- 14. 如何通過改變時間來減去日期時間
- 15. 如何減去天的軍事時間日期時間模塊
- 16. 如何從MySQL中的日期時間減去3小時?
- 17. 減去日期值的時間
- 18. 從日期時間減去1年
- 19. 減去日期時間偏移值
- 20. 減去兩個日期時間值
- 21. 如何在angularjs中減去日期
- 22. Python的日期時間中減去日期古怪
- 23. 如何轉換和減去日期,時間在python
- 24. 如何從日期時間中減去一年?
- 25. 在Django中減去日期?
- 26. 減去日期
- 27. 減去日期
- 28. 用mysql從時間戳中減去日期時間
- 29. 減去當前日期和時間5分鐘javascript
- 30. 在Swing中添加或減去DateTime中的日期時間
日期/時間的格式是什麼? – 2011-02-09 12:21:49
它像那樣存儲「2011-02-07 15:13:06」 – 2011-02-09 12:23:26