JS時(shí)間戳與日期格式互相轉(zhuǎn)換的簡(jiǎn)單方法示例
前端時(shí)間格式轉(zhuǎn)時(shí)間戳的幾種方法
<script type="text/javascript"> var date=new Date(); console.log(date);//Wed Feb 13 2019 11:40:45 GMT+0800 (中國標(biāo)準(zhǔn)時(shí)間) // 1:不推薦這種辦法,毫秒級(jí)別的數(shù)值被轉(zhuǎn)化為000 var timeStamp1=Date.parse(date); console.log(timeStamp1);//1550029245000 // 2:通過valueOf()函數(shù)返回指定對(duì)象的原始值獲得準(zhǔn)確的時(shí)間戳值 var timeStamp2=date.valueOf(); console.log(timeStamp2);//1550029245434 // 3:通過原型方法直接獲得當(dāng)前時(shí)間的毫秒值,準(zhǔn)確 var timeStamp3=date.getTime(); console.log(timeStamp3);//1550029245434 // 4:將時(shí)間轉(zhuǎn)化為一個(gè)number類型的數(shù)值,即時(shí)間戳 var timeStamp4=Number(date); console.log(timeStamp4);//1550029245434 </script>
JS和jQuery用了一段時(shí)間,最近發(fā)現(xiàn)他們沒有自帶的時(shí)間戳格式化函數(shù),于是綜合網(wǎng)上相關(guān)的時(shí)間戳格式化函數(shù),自己寫了一個(gè)時(shí)間戳格式化函數(shù)DateToTime,這個(gè)函數(shù)提供了多種格式化樣式:
Y-m-d,Y-m-d H:i:s,Y/m/d,Y/m/d H:i:s,Y年m月d日,Y年m月d日 H:i:s
這里的時(shí)間有時(shí)僅輸入Y-m-d H:i也是可以使用的
/** * [TimeToDate時(shí)間戳轉(zhuǎn)換為日期] * @param {[type]} unixTime [時(shí)間戳] * @param {String} type [Y-m-d,Y-m-d H:i:s,Y/m/d,Y/m/d H:i:s,Y年m月d日,Y年m月d日 H:i:s] */ function TimeToDate(unixTime,type="Y-M-D H:i:s"){ var date = new Date(unixTime * 1000);//時(shí)間戳為10位需*1000,時(shí)間戳為13位的話不需乘1000 var datetime = ""; datetime += date.getFullYear() + type.substring(1,2); datetime += (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + type.substring(3,4); datetime += (date.getDate() < 10 ? '0'+(date.getDate()) : date.getDate()); if (type.substring(5,6)) { if (type.substring(5,6).charCodeAt() > 255) { datetime += type.substring(5,6); if (type.substring(7,8)) { datetime += " " + (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()); if (type.substring(9,10)) { datetime += type.substring(8,9) + (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()); if (type.substring(11,12)) { datetime += type.substring(10,11) + (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds()); }; }; }; }else{ datetime += " " + (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()); if (type.substring(8,9)) { datetime += type.substring(7,8) + (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()); if (type.substring(10,11)) { datetime += type.substring(9,10) + (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds()); }; }; }; }; return datetime; }
TimeToDate("1515640111"); //2018-01-11 11:08:31 TimeToDate("1515640111","Y-m-d"); //2018-01-11 TimeToDate("1515640111","Y-m-d H:i"); //2018-01-11 11:08 TimeToDate("1515640111","Y-m-d H:i:s"); //2018-01-11 11:08:31 TimeToDate("1515640111","Y/m/d"); //2018/01/11 TimeToDate("1515640111","Y/m/d H:i:s"); //2018/01/11 11:08:31 TimeToDate("1515640111","Y年m月d日"); //2018年01月11日 TimeToDate("1515640111","Y年m月d日 H:i:s"); //2018年01月11日 11:08:31
/** * [DateToTime 日期轉(zhuǎn)換時(shí)間戳] * @param {[type]} day [日期格式,僅支持標(biāo)準(zhǔn)格式] */ function DateToTime(day){ // re = /(\d{4})(?:-(\d{1,2})(?:-(\d{1,2}))?)?(?:\s+(\d{1,2}):(\d{1,2}):(\d{1,2}))?/.exec(day); // 原 re = /(\d{4})(?:\D?(\d{1,2})(?:\D?(\d{1,2}))?[^\d\s]?)?(?:\s+(\d{1,2})\D?(\d{1,2})\D?(\d{1,2}))?/.exec(day); return new Date(re[1],(re[2]||1)-1,re[3]||1,re[4]||0,re[5]||0,re[6]||0).getTime()/1000; } DateToTime("2018-01-11 11:08:31"); DateToTime("2018-01-11"); DateToTime("2018年01月11日 11時(shí)08分31秒"); DateToTime("2018");
補(bǔ)充時(shí)間戳與日期相互轉(zhuǎn)換:
function TimeToDate(date,format) { format = format || 'YYYY-MM-DD hh:mm:ss'; var dateTest = (/^(-)?\d{1,10}$/.test(date) || /^(-)?\d{1,13}$/.test(date)); if(/^[1-9]*[1-9][0-9]*$/.test(date) && dateTest){ var vdate = parseInt(date); if (/^(-)?\d{1,10}$/.test(vdate)) { vdate = vdate * 1000; } else if (/^(-)?\d{1,13}$/.test(vdate)) { vdate = vdate * 1000; } else if (/^(-)?\d{1,14}$/.test(vdate)) { vdate = vdate * 100; } else { alert("時(shí)間戳格式不正確"); return; } var setdate = new Date(vdate); return parse({YYYY:setdate.getFullYear(), MM:digit(setdate.getMonth()+1), DD:digit(setdate.getDate()) , hh:digit(setdate.getHours()), mm:digit(setdate.getMinutes()), ss:digit(setdate.getSeconds()) }, format); }else { //將日期轉(zhuǎn)換成時(shí)間戳 var arrs = date.match(/\w+|d+/g), newdate = new Date(arrs[0],parseInt(arrs[1])-1,arrs[2],arrs[3]||0,arrs[4]||0,arrs[5]||0), timeStr = Math.round(newdate.getTime() / 1000); return timeStr; } function parse(ymdhms, format) { var regymdzz = "YYYY|MM|DD|hh|mm|ss|zz"; return format.replace(new RegExp(regymdzz,"g"), function(str, index) { return str == "zz" ? "00":digit(ymdhms[str]); }); }; function digit(num) { return num < 10 ? "0" + (num | 0) :num; }; };
總結(jié)
到此這篇關(guān)于JS時(shí)間戳與日期格式互相轉(zhuǎn)換的文章就介紹到這了,更多相關(guān)JS時(shí)間戳與日期格式互相轉(zhuǎn)換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JS的時(shí)間格式化和時(shí)間戳轉(zhuǎn)換函數(shù)示例詳解
- JavaScript時(shí)間與時(shí)間戳的轉(zhuǎn)換操作實(shí)例分析
- Vue.js 時(shí)間轉(zhuǎn)換代碼及時(shí)間戳轉(zhuǎn)時(shí)間字符串
- js實(shí)現(xiàn)把時(shí)間戳轉(zhuǎn)換為yyyy-MM-dd hh:mm 格式(es6語法)
- js時(shí)間戳與日期格式之間轉(zhuǎn)換詳解
- js時(shí)間戳與日期格式之間相互轉(zhuǎn)換
- javascript時(shí)間戳和日期字符串相互轉(zhuǎn)換代碼(超簡(jiǎn)單)
- JS獲取時(shí)間的相關(guān)函數(shù)及時(shí)間戳與時(shí)間日期之間的轉(zhuǎn)換
- JS時(shí)間轉(zhuǎn)換標(biāo)準(zhǔn)格式、時(shí)間戳轉(zhuǎn)換標(biāo)準(zhǔn)格式的示例代碼
相關(guān)文章
javascript中的undefined和not defined區(qū)別示例介紹
這篇文章主要介紹了javascript中的undefined和not defined區(qū)別,需要的朋友可以參考下2014-02-02微信小程序五子棋游戲AI實(shí)現(xiàn)方法【附demo源碼下載】
這篇文章主要介紹了微信小程序五子棋游戲AI實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了五子棋游戲中人機(jī)對(duì)戰(zhàn)的AI原理及相關(guān)實(shí)現(xiàn)技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2019-02-02ES6知識(shí)點(diǎn)整理之Proxy的應(yīng)用實(shí)例詳解
這篇文章主要介紹了ES6知識(shí)點(diǎn)整理之Proxy的應(yīng)用,結(jié)合實(shí)例形式詳細(xì)分析了ES6中Proxy的功能、原理、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-04-04微信小程序?qū)崿F(xiàn)驗(yàn)證碼倒計(jì)時(shí)效果
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)驗(yàn)證碼倒計(jì)時(shí)效果,手機(jī)登錄、填手機(jī)號(hào)獲取驗(yàn)證碼,倒計(jì)時(shí)后重新獲取效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05原生js實(shí)現(xiàn)簡(jiǎn)單輪播圖效果
這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)簡(jiǎn)單輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09layui中select,radio設(shè)置不生效的解決方法
今天小編就為大家分享一篇layui中select,radio設(shè)置不生效的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09