你需要找出兩個(gè)日期間隔了幾年,幾個(gè)月,幾天,幾個(gè)小時(shí),幾分鐘,幾秒。
利用 JavaScript 的日期計(jì)算函數(shù) getTime() 。它提供了從 1970 年 1 月 1 日開(kāi)始經(jīng)過(guò)了多少毫秒。
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í)有多少毫秒來(lái)得到。同樣的可以得到幾分鐘和幾秒。
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)