今天工作中遇到了这个问题,以前没有好好研究过这个问题,今天看了之后其实没有多难,就是可能自己之前对Date对象理解不是很深刻吧
1.将普通的时间格式转换成UTC时间戳
其实也就一行代码的事情,但是之前不知道哇,现在应该庆幸找实习的时候没有被问到这个问题,不然真的会死翘翘,如果没有遇到这个问题真的不知道JS还可以这么玩。。。
1) new Date().getTime()
2) new Date().valueOf()
这两个都可以,并且都可以精确到毫秒
2.将UTC时间戳转换成普通数据格式
将转换的步骤封装成函数来实现,之后代码中有需要转换的地方直接调用就可以
第一种方法:
function getLocalTime(nS) {
return new Date(parseInt(nS) * 1000).toLocaleString().replace(/:\d{1,2}$/,' ');
}
第二种方法:
function formatDate(now) {
var year=now.getYear();
var month=now.getMonth()+1;
var date=now.getDate();
var hour=now.getHours();
var minute=now.getMinutes();
var second=now.getSeconds();
return "20"+year+"-"+month+"-"+date+" "+hour+":"+minute+":"+second;
}
formatData(new Date(1230999938));