js 計算兩個時間的時間差

2021-09-29 00:14:15 字數 1743 閱讀 8548

gettime()方法

方法定義: gettime() 方法可返回距 1970 年 1 月 1 日之間的毫秒數。

通常我們計算時間差都是通過獲取兩個時間資料,然後分別使用gettime()方法返回與固定的1970 年 1 月 1 日的時間差,通過對返回毫秒數的差,換算成時間單位,得出兩個時間的時間差。

首先你會有一串初始的時間資料,然後通過 new date(你的時間資料),將你的資料轉成date物件的形式。

var t1=

"2017/08/28 04:56:38"

;//資料

var datebegin =

newdate

(t1)

;//轉化為date物件的形式

//mon aug 28 2017 04:56:38 gmt+0800 (中國標準時間) 這裡就是date物件的資料形式

這裡的話就要注意一下後端給的時間資料格式的問題,比如下面兩種

第一種:「2017/08/28 04:56:38」//這種格式不用再進行處理

第二種:「2017-08-01 18:56:38」//這種格式就要進行處理

因為new date()方法不能處理第二種資料,所以我們這裡需要將第二種資料格式轉化為第一種資料的格式。

var t1=「2017-05-12 00:13:53」;

var datebegin = new date(d1.replace(/-/g, 「/」));//replace方法將-轉為/

h2o is是液體。

既然是時間差的話,就肯定要有兩個資料,不然怎麼兩相比較,一般兩個資料中都會有乙個當前時間的資料。

var dateend =

newdate()

;//當前時間資料

function

timefn

(d1)

var t3=

"2017-08-18 04:56:38"

;timefn

(t3)

;

//這裡的daydiff就是上文計算出的天數差

let monthdiff=math.

floor

(daydiff/30)

;//以30天為乙個月不夠精準嚴謹

//獲取相差的月份

if(monthdiff<12)

let yeardiff=math.

floor

(monthdiff/12)

;//獲取相差的年份

if(yeardiff>=1)

當天數相差較大的時候,單純計算天數已經不能滿足需求了,因為我們pm說的統一以30天為乙個月的分界線,然後這裡月份的計算情況感覺很複雜的樣子沒有繼續研究下去。

function

getdays()

else

if(mouth ==

1|| mouth ==

3|| mouth ==

5|| mouth ==

7|| mouth ==

8|| mouth ==

10|| mouth ==12)

else

return days;

}

網上找了個獲取當前月份天數的函式,上面的注釋也足夠全,我就一起貼上來,連線在下面。

js計算兩個時間的時間差

let currentday newdate let enddate 2020 8 8 23 23 23 時間相差毫秒數 let difftime date.parse enddate date.parse currentday 相差天數 this day math.floor difftime 2...

java計算兩個時間的時間差

如果得到的時間格式是string型 資料庫儲存為varchar 的是日期時間,我們首先要講日期由string型轉為date型,如果得到的時間格式為date型別不用轉。string time1 2017 01 01 01 01 01 string time2 2017 02 02 02 02 02 d...

Java計算兩個時間差

計算兩個日期的時間差 param formattime1 param formattime2 return public static string gettimedifference timestamp formattime1,timestamp formattime2 catch parseex...