温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

JavaScript如何实现将时间戳转换成日期格式

发布时间:2020-11-06 15:17:04 来源:亿速云 阅读:379 作者:Leah 栏目:开发技术

本篇文章给大家分享的是有关JavaScript如何实现将时间戳转换成日期格式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

JS和jQuery用了一段时间,最近发现他们没有自带的时间戳格式化函数,于是综合网上相关的时间戳格式化函数,自己写了一个时间戳格式化函数DateToTime,这个函数提供了多种格式化样式:

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

这里的时间有时仅输入Y-m-d H:i也是可以使用的

/**  * [TimeToDate时间戳转换为日期]  * @param {[type]} unixTime [时间戳]  * @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);//时间戳为10位需*1000,时间戳为13位的话不需乘1000     var datetime = "";     datetime += date.getFullYear() + type.substring(1,2);     datetime += (date.getMonth()+1 < 10 &#63; '0'+(date.getMonth()+1) : date.getMonth()+1) + type.substring(3,4);     datetime += (date.getDate() < 10 &#63; '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 &#63; '0'+(date.getHours()) : date.getHours());                 if (type.substring(9,10)) {                     datetime += type.substring(8,9) + (date.getMinutes() < 10 &#63; '0'+(date.getMinutes()) : date.getMinutes());                     if (type.substring(11,12)) {                         datetime += type.substring(10,11) + (date.getSeconds() < 10 &#63; '0'+(date.getSeconds()) : date.getSeconds());                     };                 };             };         }else{             datetime += " " + (date.getHours() < 10 &#63; '0'+(date.getHours()) : date.getHours());             if (type.substring(8,9)) {                 datetime += type.substring(7,8) + (date.getMinutes() < 10 &#63; '0'+(date.getMinutes()) : date.getMinutes());                 if (type.substring(10,11)) {                     datetime += type.substring(9,10) + (date.getSeconds() < 10 &#63; '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 日期转换时间戳]  * @param {[type]} day [日期格式,仅支持标准格式]  */ function DateToTime(day){	// re = /(\d{4})(&#63;:-(\d{1,2})(&#63;:-(\d{1,2}))&#63;)&#63;(&#63;:\s+(\d{1,2}):(\d{1,2}):(\d{1,2}))&#63;/.exec(day); // 原	re = /(\d{4})(&#63;:\D&#63;(\d{1,2})(&#63;:\D&#63;(\d{1,2}))&#63;[^\d\s]&#63;)&#63;(&#63;:\s+(\d{1,2})\D&#63;(\d{1,2})\D&#63;(\d{1,2}))&#63;/.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时08分31秒"); DateToTime("2018");

补充时间戳与日期相互转换:

function TimeToDate(date,format) { format = format || 'YYYY-MM-DD hh:mm:ss'; var dateTest = (/^(-)&#63;\d{1,10}$/.test(date) || /^(-)&#63;\d{1,13}$/.test(date)); if(/^[1-9]*[1-9][0-9]*$/.test(date) && dateTest){ var vdate = parseInt(date); if (/^(-)&#63;\d{1,10}$/.test(vdate)) { vdate = vdate * 1000; } else if (/^(-)&#63;\d{1,13}$/.test(vdate)) { vdate = vdate * 1000; } else if (/^(-)&#63;\d{1,14}$/.test(vdate)) { vdate = vdate * 100; } else { alert("时间戳格式不正确"); 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 { //将日期转换成时间戳 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" &#63; "00":digit(ymdhms[str]); }); }; function digit(num) { return num < 10 &#63; "0" + (num | 0) :num; }; };

以上就是JavaScript如何实现将时间戳转换成日期格式,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI