一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

JS計(jì)算時(shí)間差

 wenxuefeng360 2022-11-06 發(fā)布于四川

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

通常我們計(jì)算時(shí)間差都是通過獲取兩個(gè)時(shí)間數(shù)據(jù),然后分別使用getTime()方法返回與固定的1970 年 1 月 1 日的時(shí)間差,通過對(duì)返回毫秒數(shù)的差,換算成時(shí)間單位,得出兩個(gè)時(shí)間的時(shí)間差。

開始操作:
首先你會(huì)有一串初始的時(shí)間數(shù)據(jù),然后通過 new Date(你的時(shí)間數(shù)據(jù)),將你的數(shù)據(jù)轉(zhuǎn)成Date對(duì)象的形式。

var t1="2017/08/28 04:56:38"; //數(shù)據(jù)
var dateBegin = new Date(t1);//轉(zhuǎn)化為Date對(duì)象的形式
//Mon Aug 28 2017 04:56:38 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間) 這里就是Date對(duì)象的數(shù)據(jù)形式

 

時(shí)間格式

這里的話就要注意一下后端給的時(shí)間數(shù)據(jù)格式的問題,比如下面兩種:

  • 第一種:"2017/08/28 04:56:38"http://這種格式不用再進(jìn)行處理
  • 第二種:"2017-08-01 18:56:38"http://這種格式就要進(jìn)行處理

 

因?yàn)閚ew Date()方法不能處理第二種數(shù)據(jù),所以我們這里需要將第二種數(shù)據(jù)格式轉(zhuǎn)化為第一種數(shù)據(jù)的格式。

let t1="2017-05-12 00:13:53";
let dateBegin = new Date(d1.replace(/-/g, "/"));//replace方法將-轉(zhuǎn)為/

 

另一個(gè)時(shí)間數(shù)據(jù):
既然是時(shí)間差的話,就肯定要有兩個(gè)數(shù)據(jù),不然怎么兩相比較,一般兩個(gè)數(shù)據(jù)中都會(huì)有一個(gè)當(dāng)前時(shí)間的數(shù)據(jù)。

let dateEnd = new Date();//當(dāng)前時(shí)間數(shù)據(jù)

 

完整計(jì)算時(shí)間差(天、小時(shí)、分鐘、秒)的代碼:

先獲取之間的毫秒差,通過毫秒差換算出你所需要的時(shí)間單位,然后時(shí)間單位之間的換算根據(jù)的是他們的倍數(shù)關(guān)系。

復(fù)制代碼
function timeFn(d1) {//di作為一個(gè)變量傳進(jìn)來
//如果時(shí)間格式是正確的,那下面這一步轉(zhuǎn)化時(shí)間格式就可以不用了
let dateBegin = new Date(d1.replace(/-/g, "/"));//將-轉(zhuǎn)化為/,使用new Date
let dateEnd = new Date();//獲取當(dāng)前時(shí)間
let dateDiff = dateEnd.getTime() - dateBegin.getTime();//時(shí)間差的毫秒數(shù)
let dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//計(jì)算出相差天數(shù)
let leave1=dateDiff%(24*3600*1000) //計(jì)算天數(shù)后剩余的毫秒數(shù)
let hours=Math.floor(leave1/(3600*1000))//計(jì)算出小時(shí)數(shù)
//計(jì)算相差分鐘數(shù)
let leave2=leave1%(3600*1000) //計(jì)算小時(shí)數(shù)后剩余的毫秒數(shù)
let minutes=Math.floor(leave2/(60*1000))//計(jì)算相差分鐘數(shù)
//計(jì)算相差秒數(shù)
let leave3=leave2%(60*1000) //計(jì)算分鐘數(shù)后剩余的毫秒數(shù)
let seconds=Math.round(leave3/1000)
console.log(" 相差 "+dayDiff+""+hours+"小時(shí) "+minutes+" 分鐘"+seconds+"")
console.log(dateDiff+"時(shí)間差的毫秒數(shù)",dayDiff+"計(jì)算出相差天數(shù)",leave1+"計(jì)算天數(shù)后剩余的毫秒數(shù)"
,hours+"計(jì)算出小時(shí)數(shù)",minutes+"計(jì)算相差分鐘數(shù)",seconds+"計(jì)算相差秒數(shù)");
}
let t3="2017-08-18 04:56:38";
timeFn(t3);
復(fù)制代碼


不成熟的計(jì)算月、年:

復(fù)制代碼
//這里的dayDiff就是上文計(jì)算出的天數(shù)差
let monthDiff=Math.floor(dayDiff/30);//以30天為一個(gè)月不夠精準(zhǔn)嚴(yán)謹(jǐn)
//獲取相差的月份
if (monthDiff<12){
timeThis=monthDiff+"個(gè)月前發(fā)布";//獲取相差的月份
return
}
let yearDiff=Math.floor(monthDiff/12);//獲取相差的年份
if(yearDiff>=1){
timeThis=yearDiff+"年前發(fā)布";
return
}
復(fù)制代碼
 

當(dāng)天數(shù)相差較大的時(shí)候,單純計(jì)算天數(shù)已經(jīng)不能滿足需求了,因?yàn)槲覀働M說的統(tǒng)一以30天為一個(gè)月的分界線,然后這里月份的計(jì)算情況感覺很復(fù)雜的樣子沒有繼續(xù)研究下去。

復(fù)制代碼
獲取當(dāng)前月份的天數(shù)
function getDays() {
//構(gòu)造當(dāng)前日期對(duì)象
var date = new Date();
var year = date.getFullYear();//獲取年份
var mouth = date.getMonth() + 1;//獲取當(dāng)前月份
var days;//定義當(dāng)月的天數(shù);
if (mouth == 2) {//當(dāng)月份為二月時(shí),根據(jù)閏年還是非閏年判斷天數(shù)
days = year % 4 == 0 ? 29 : 28;
}
else if (mouth == 1 || mouth == 3 || mouth == 5 || mouth == 7 || mouth == 8 || mouth == 10 || mouth == 12) {
//月份為:1,3,5,7,8,10,12 時(shí),為大月.則天數(shù)為31;
days = 31;
}
else {
//其他月份,天數(shù)為:30.
days = 30;
}
return days;
}
復(fù)制代碼

 

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    国产又粗又黄又爽又硬的| 亚洲熟妇中文字幕五十路| 99国产高清不卡视频| 亚洲综合香蕉在线视频| 亚洲国产一级片在线观看| 熟女一区二区三区国产| 欧美黄色黑人一区二区| 国产超碰在线观看免费| 精品国模一区二区三区欧美| 国产精品成人一区二区三区夜夜夜| 在线欧美精品二区三区| 亚洲中文字幕视频在线播放| 丝袜诱惑一区二区三区| 热久久这里只有精品视频| 亚洲一区二区三区在线中文字幕| 2019年国产最新视频| 亚洲国产av在线视频| 欧美视频在线观看一区| 中国一区二区三区人妻| 成年女人午夜在线视频| 五月情婷婷综合激情综合狠狠| 日本一区不卡在线观看| 丰满少妇高潮一区二区| 国产香蕉国产精品偷在线观看| 国语对白刺激高潮在线视频| 国产不卡一区二区四区| 久久91精品国产亚洲| 欧美日韩在线第一页日韩| 国产av熟女一区二区三区蜜桃| 玩弄人妻少妇一区二区桃花| 精品人妻精品一区二区三区| 亚洲最新中文字幕在线视频| 91亚洲精品亚洲国产| 国产精品第一香蕉视频| 亚洲欧美中文日韩综合| 天堂av一区一区一区| 精品少妇一区二区视频| 九九热视频免费在线视频| 日韩精品一区二区三区射精| 日韩人妻一区中文字幕| 国产美女精品午夜福利视频|