JS計算時間差

2022-02-08 08:09:29 字數 3214 閱讀 8928

gettime()方法

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

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

開始操作:

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

var t1="

2017/08/28 04:56:38

"; //

資料var datebegin = new date(t1);//

轉化為date物件的形式

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

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

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

let t1="

2017-05-12 00:13:53";

let datebegin = new date(d1.replace(/-/g, "

/"));//

replace方法將-轉為/

另乙個時間資料:

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

let

dateend = new date();//

當前時間資料

先獲取之間的毫秒差,通過毫秒差換算出你所需要的時間單位,然後時間單位之間的換算根據的是他們的倍數關係。

function timefn(d1) 

let 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;

}

好文要頂 關注我 收藏該文

gettime()方法

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

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

開始操作:

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

var t1="

2017/08/28 04:56:38

"; //

資料var datebegin = new date(t1);//

轉化為date物件的形式

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

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

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

let t1="

2017-05-12 00:13:53";

let datebegin = new date(d1.replace(/-/g, "

/"));//

replace方法將-轉為/

另乙個時間資料:

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

let

dateend = new date();//

當前時間資料

先獲取之間的毫秒差,通過毫秒差換算出你所需要的時間單位,然後時間單位之間的換算根據的是他們的倍數關係。

function timefn(d1) 

let 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計算時間差

需求 在某個時間點後的n天後做某件事情 分析 1.計算某個時間點與今天當前時間的時間差 這裡要考慮到計算時間差,如果時間格式化成字串後計算,存在日切,年切的問題 2.n天是需求中給出的乙個時間,這裡假設n 7天 某個時間點也是需求中給出的時間,是這樣的格式 2018 01 2 15 59 07 3....

JS 時間差計算

時間差比較 interval d表示查詢精確到天數的之差 interval h表示查詢精確到小時之差 interval m表示查詢精確到分鐘之差 interval s表示查詢精確到秒之差 interval t表示查詢精確到毫秒之差 function datediff interval,date1,d...

JS 時間差計算

編寫函式,要求傳入兩個日期時間,返回兩個日期時間之間,相差多少天多少小時多少分鐘,多少秒。var res datereduce 2 因為我們輸入的方式是陣列,且存在時分秒,我們需要格式化一下陣列日期 判定陣列的長度,根據陣列的長度格式化成字串再進行計算 而且使用者可能寫時分秒,也可能不寫,所以我們分...