CoffeeScript 計(jì)算兩個(gè)日期中間的天數(shù)

2022-06-29 16:58 更新

計(jì)算兩個(gè)日期中間的天數(shù)

問題

你需要找出兩個(gè)日期間隔了幾年,幾個(gè)月,幾天,幾個(gè)小時(shí),幾分鐘,幾秒。

解決方案

利用JavaScript的日期計(jì)算函數(shù)getTime()。它提供了從1970年1月1日開始經(jīng)過了多少毫秒。

DAY = 1000 * 60 * 60  * 24

d1 = new Date('02/01/2011')
d2 = new Date('02/06/2011')

days_passed = Math.round((d2.getTime() - d1.getTime()) / DAY)

討論

使用毫秒,使計(jì)算時(shí)間跨度更容易,以避免日期的溢出錯(cuò)誤。所以我們首先計(jì)算一天有多少毫秒。然后,給出了2個(gè)不同的日期,只須知道在2個(gè)日期之間的毫秒數(shù),然后除以一天的毫秒數(shù),這將得到2個(gè)不同的日期之間的天數(shù)。

如果你想計(jì)算出2個(gè)日期對(duì)象的小時(shí)數(shù),你可以用毫秒的時(shí)間間隔除以一個(gè)小時(shí)有多少毫秒來得到。同樣的可以得到幾分鐘和幾秒。

HOUR = 1000 * 60 * 60

d1 = new Date('02/01/2011 02:20')
d2 = new Date('02/06/2011 05:20')

hour_passed = Math.round((d2.getTime() - d1.getTime()) / HOUR)
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)