js时间格式化和相互转换
1. Thu Mar 07 2019 12:00:00 GMT+0800 (中国标准时间) 转换为 2019-03-07 12:00:00
const d = new Date(Thu Mar 07 2019 12:00:00 GMT+0800 (中国标准时间)) const resDate = d.getFullYear() + '-' + this.p((d.getMonth() + 1)) + '-' + this.p(d.getDate()) const resTime = this.p(d.getHours()) + ':' + this.p(d.getMinutes()) + ':' + this.p(d.getSeconds())
p为不够10添加0的函数
p(s) { return s < 10 ? '0' + s : s },
2.2019-03-07 12:00:00转换为 Thu Mar 07 2019 12:00:00 GMT+0800 (中国标准时间)
parserDate(date) { var t = Date.parse(date) if (!isNaN(t)) { return new Date(Date.parse(date.replace(/-/g, '/'))) } },
3.时间转时间戳
将Thu Sep 20 2018 16:47:52 GMT+0800 (中国标准时间)
转换为1537433272051
console.log(Date.parse(new Date())) console.log(new Date().getTime())
将"2018-09-20 16:50:48"
转换为1537433448000
var timeDate = "2018-09-20 16:50:48"; var Time = new Date(timeDate); var timestemp = Time.getTime(); console.log(timestemp)
4.将日期转换为指定的格式:比如转换成 年月日时分秒 这种格式:yyyy-MM-dd hh:mm:ss 或者 yyyy-MM-dd
Date.prototype.format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), //小时 "m+" : this.getMinutes(), //分 "s+" : this.getSeconds(), //秒 "q+" : Math.floor((this.getMonth()+3)/3), //季度 "S" : this.getMilliseconds() //毫秒 }; if(/(y+)/.test(fmt)) { fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length)); } for(var k in o) { if(new RegExp("("+ k +")").test(fmt)){ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length))); } } return fmt; }
调用
var time1 = new Date().format("yyyy-MM-dd hh:mm:ss"); console.log(time1);
运行如下:
也可以转换成 ”年月日”的格式
var time2 = new Date().format("yyyy-MM-dd"); console.log(time2);
运行如下:
还将指定的日期转换为"年月日"的格式,代码如下:
var oldTime = (new Date("2012/12/25 20:11:11")).getTime(); var curTime = new Date(oldTime).format("yyyy-MM-dd"); console.log(curTime);
运行如下:
还可以将 "时间戳" 转换为 "年月日" 的格式.
比如如下代码: var da = 1402233166999; da = new Date(da); var year = da.getFullYear()+'年'; var month = da.getMonth()+1+'月'; var date = da.getDate()+'日'; console.log([year,month,date].join('-'));