JS把字符串格式的時(shí)間轉(zhuǎn)換成幾秒前、幾分鐘前、幾小時(shí)前、幾天前等格式
最近在做項(xiàng)目的時(shí)候,需要把后臺(tái)返回的時(shí)間轉(zhuǎn)換成幾秒前、幾分鐘前、幾小時(shí)前、幾天前等的格式;后臺(tái)返回的時(shí)間格式為:2015-07-30 09:36:10,需要根據(jù)當(dāng)前的時(shí)間與返回的時(shí)間進(jìn)行對(duì)比,最后顯示成幾秒前、幾分鐘前、幾小時(shí)前、幾天前的形式。
1.由于返回的時(shí)間是字符串格式,所以要先轉(zhuǎn)換成時(shí)間戳
//字符串轉(zhuǎn)換為時(shí)間戳
function getDateTimeStamp (dateStr) {
return Date.parse(dateStr.replace(/-/gi,"/"));
}
2.將返回的時(shí)間戳與當(dāng)前時(shí)間戳進(jìn)行比較,轉(zhuǎn)換成幾秒前、幾分鐘前、幾小時(shí)前、幾天前的形式。
function getDateDiff (dateStr) {
var publishTime = getDateTimeStamp(dateStr)/1000,
d_seconds,
d_minutes,
d_hours,
d_days,
timeNow = parseInt(new Date().getTime()/1000),
d,
date = new Date(publishTime*1000),
Y = date.getFullYear(),
M = date.getMonth() + 1,
D = date.getDate(),
H = date.getHours(),
m = date.getMinutes(),
s = date.getSeconds();
//小于10的在前面補(bǔ)0
if (M < 10) {
M = '0' + M;
}
if (D < 10) {
D = '0' + D;
}
if (H < 10) {
H = '0' + H;
}
if (m < 10) {
m = '0' + m;
}
if (s < 10) {
s = '0' + s;
}
d = timeNow - publishTime;
d_days = parseInt(d/86400);
d_hours = parseInt(d/3600);
d_minutes = parseInt(d/60);
d_seconds = parseInt(d);
if(d_days > 0 && d_days < 3){
return d_days + '天前';
}else if(d_days <= 0 && d_hours > 0){
return d_hours + '小時(shí)前';
}else if(d_hours <= 0 && d_minutes > 0){
return d_minutes + '分鐘前';
}else if (d_seconds < 60) {
if (d_seconds <= 0) {
return '剛剛發(fā)表';
}else {
return d_seconds + '秒前';
}
}else if (d_days >= 3 && d_days < 30){
return M + '-' + D + ' ' + H + ':' + m;
}else if (d_days >= 30) {
return Y + '-' + M + '-' + D + ' ' + H + ':' + m;
}
}
3.使用方法:
dateStr:返回的時(shí)間字符串,格式如:2015-07-30 09:36:10
// 轉(zhuǎn)換后的結(jié)果 var str = getDateDiff(dateStr); // 在控制臺(tái)輸出結(jié)果 console.log(str);
總結(jié)
以上所述是小編給大家介紹的JS把字符串格式的時(shí)間轉(zhuǎn)換成幾秒前、幾分鐘前、幾小時(shí)前、幾天前等格式 ,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- JS將時(shí)間的標(biāo)準(zhǔn)格式和時(shí)間戳格式和2022-01-27?00:00:00(年月日時(shí)分秒)格式相互轉(zhuǎn)換(最新推薦)
- JS實(shí)現(xiàn)獲取毫秒值及轉(zhuǎn)換成年月日時(shí)分秒的方法
- js時(shí)間轉(zhuǎn)換毫秒的實(shí)例代碼
- JS將時(shí)間秒轉(zhuǎn)換成天小時(shí)分鐘秒的字符串
- 在JS中如何把毫秒轉(zhuǎn)換成規(guī)定的日期時(shí)間格式實(shí)例
- js中的時(shí)間轉(zhuǎn)換—毫秒轉(zhuǎn)換成日期時(shí)間的示例代碼
- JavaScript 中如何將秒轉(zhuǎn)換為分秒
相關(guān)文章
js實(shí)現(xiàn)表單及時(shí)驗(yàn)證功能 用戶信息立即驗(yàn)證
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)表單及時(shí)驗(yàn)證功能,在輸入后就可以立即驗(yàn)證,含用戶類型,性別,愛好等驗(yàn)證,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
Uniapp中嵌入H5并在H5中跳轉(zhuǎn)到APP的指定頁面方法詳解
Uniapp是一款基于Vue.js框架的跨平臺(tái)開發(fā)工具,支持在一套代碼中開發(fā)出運(yùn)行于各大平臺(tái)的應(yīng)用程序,這篇文章主要給大家介紹了關(guān)于Uniapp中嵌入H5并在H5中跳轉(zhuǎn)到APP的指定頁面的相關(guān)資料,需要的朋友可以參考下2023-09-09
JS中的Replace方法使用經(jīng)驗(yàn)分享
本文給大家分享的是我們?cè)谑褂胘avascript中的replace方法的時(shí)候需要注意的一個(gè)事項(xiàng),我就是沒有注意到,才被這個(gè)bug煩了好久,這里記錄下來,有需要的小伙伴可以參考下。2015-05-05
基于JavaScript實(shí)現(xiàn)右鍵菜單和拖拽功能
本文給大家分享基于js實(shí)現(xiàn)的右鍵菜單功能和拖拽功能的代碼解析,非常不錯(cuò),具有一定的參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-11-11
javascript讓setInteval里的函數(shù)參數(shù)中的this指向特定的對(duì)象
話說阿里巴巴今年的校園招聘有一道題目考了一個(gè)知識(shí)點(diǎn),那就是setInterval的參數(shù)函數(shù)里的this指向.2010-01-01
微信小程序中使用 async/await的方法實(shí)例分析
這篇文章主要介紹了微信小程序中使用 async/await的方法,結(jié)合實(shí)例形式分析了微信小程序中async/await的功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-05-05
手把手教會(huì)你用Javascript實(shí)現(xiàn)放大鏡效果(詳細(xì)注釋+完整代碼)
放大鏡可以說是前端人必須學(xué)會(huì)的程序之一,下面這篇文章主要給大家介紹了關(guān)于手把手教會(huì)你用Javascript實(shí)現(xiàn)放大鏡效果的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-03-03

