小編給大家分享一下JS如何將時(shí)間秒轉(zhuǎn)換成天小時(shí)分鐘秒的字符串,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
創(chuàng)新互聯(lián)專(zhuān)注于企業(yè)全網(wǎng)整合營(yíng)銷(xiāo)推廣、網(wǎng)站重做改版、朝陽(yáng)網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、html5、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性?xún)r(jià)比高,為朝陽(yáng)等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。
項(xiàng)目中需求是這樣,接口返回的數(shù)據(jù)中時(shí)間單位為秒,但前端顯示的時(shí)候需要更人性化的帶有單位(天,小時(shí),分鐘,秒)的字符串;
轉(zhuǎn)換函數(shù)如下:
/** * 格式化秒 * @param int value 總秒數(shù) * @return string result 格式化后的字符串 */ function formatSeconds(value) { var theTime = parseInt(value);// 需要轉(zhuǎn)換的時(shí)間秒 var theTime1 = 0;// 分 var theTime2 = 0;// 小時(shí) var theTime3 = 0;// 天 if(theTime > 60) { theTime1 = parseInt(theTime/60); theTime = parseInt(theTime%60); if(theTime1 > 60) { theTime2 = parseInt(theTime1/60); theTime1 = parseInt(theTime1%60); if(theTime2 > 24){ //大于24小時(shí) theTime3 = parseInt(theTime2/24); theTime2 = parseInt(theTime2%24); } } } var result = ''; if(theTime > 0){ result = ""+parseInt(theTime)+"秒"; } if(theTime1 > 0) { result = ""+parseInt(theTime1)+"分"+result; } if(theTime2 > 0) { result = ""+parseInt(theTime2)+"小時(shí)"+result; } if(theTime3 > 0) { result = ""+parseInt(theTime3)+"天"+result; } return result; }
ps:下面看下js時(shí)間戳與時(shí)間日期間相互轉(zhuǎn)換
今天在工作中要將獲取到的時(shí)間轉(zhuǎn)換為時(shí)間戳,一時(shí)間竟不知道怎么用,于是不得不去查詢(xún)資料,這里特地做個(gè)筆記。
1、將日期轉(zhuǎn)換為時(shí)間戳。
要將日期轉(zhuǎn)換為時(shí)間戳,首先得先獲取到日期,這里可以直接指定日期,或者是使用當(dāng)前日期。要獲取當(dāng)前日期,我們可以使用new Date()來(lái)獲取。直接上代碼。
// (1)、將當(dāng)前日期轉(zhuǎn)換為時(shí)間戳。 var now = new Date(); console.log(now.getTime()) // 將當(dāng)前日期轉(zhuǎn)換為時(shí)間戳,getTime()方法可返回距1970年1月1日之間的毫秒數(shù)。也可以使用 +now ,該效果等同于now.getTime() // (2)、將指定日期轉(zhuǎn)換為時(shí)間戳。 var t = "2017-12-08 20:5:30"; // 月、日、時(shí)、分、秒如果不滿兩位數(shù)可不帶0. var T = new Date(t); // 將指定日期轉(zhuǎn)換為標(biāo)準(zhǔn)日期格式。Fri Dec 08 2017 20:05:30 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) console.log(T.getTime()) // 將轉(zhuǎn)換后的標(biāo)準(zhǔn)日期轉(zhuǎn)換為時(shí)間戳。
2、將時(shí)間戳轉(zhuǎn)換為日期。
var t = 787986456465; // 當(dāng)參數(shù)為數(shù)字的時(shí)候,那么這個(gè)參數(shù)就是時(shí)間戳,被視為毫秒,創(chuàng)建一個(gè)距離1970年1月一日指定毫秒的時(shí)間日期對(duì)象。 console.log(new Date(t)) // Wed Dec 21 1994 13:07:36 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) var t2 = "2017-5-8 12:50:30"; console.log(new Date(t2)) // Mon May 08 2017 12:50:30 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) var t3 = "2017-10-1"; console.log(new Date(t3)) // Sun Oct 01 2017 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) 不設(shè)定時(shí)分秒,則默認(rèn)轉(zhuǎn)換為00:00:00
將時(shí)間戳轉(zhuǎn)換為指定格式日期的方法封裝:
// 格式化日期,如月、日、時(shí)、分、秒保證為2位數(shù) function formatNumber (n) { n = n.toString() return n[1] ? n : '0' + n; } // 參數(shù)number為毫秒時(shí)間戳,format為需要轉(zhuǎn)換成的日期格式 function formatTime (number, format) { let time = new Date(number) let newArr = [] let formatArr = ['Y', 'M', 'D', 'h', 'm', 's'] newArr.push(time.getFullYear()) newArr.push(formatNumber(time.getMonth() + 1)) newArr.push(formatNumber(time.getDate())) newArr.push(formatNumber(time.getHours())) newArr.push(formatNumber(time.getMinutes())) newArr.push(formatNumber(time.getSeconds())) for (let i in newArr) { format = format.replace(formatArr[i], newArr[i]) } return format; }
如需要調(diào)用上述方法,使用formatTime(1545903266795, 'Y年M月D日 h:m:s')
或者formatTime(1545903266795, 'Y-M-D h:m:s')即可
以上是“JS如何將時(shí)間秒轉(zhuǎn)換成天小時(shí)分鐘秒的字符串”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享標(biāo)題:JS如何將時(shí)間秒轉(zhuǎn)換成天小時(shí)分鐘秒的字符串
文章位置:http://aaarwkj.com/article22/peijcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、外貿(mào)網(wǎng)站建設(shè)、服務(wù)器托管、移動(dòng)網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、微信公眾號(hào)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)