输入: -
milliSecond = '1519073776000';
输出: -
Date = "2018-02-20 02:26:16";
将毫秒日期转换为yyyy-MM-dd HH:mm:s
格式
答案 0 :(得分:0)
您的问题有两个步骤。
第1步:从毫秒获取日期。
这可以通过致电new Date(MILLISECONDS_AS_NUMBER);
轻松完成。
步骤2:从Date对象格式化日期字符串。
这有点复杂,因为没有默认的方法。
最好的方法是创建一个带有格式字符串和日期的函数,并简单地堆叠format.replace(token, Date.key)
次调用。
以下是上述步骤的实现:
function toDate(date) {
if (date === void 0) {
return new Date(0);
}
if (isDate(date)) {
return date;
} else {
return new Date(parseFloat(date.toString()));
}
}
function isDate(date) {
return (date instanceof Date);
}
function format(date, format) {
var d = toDate(date);
return format
.replace(/Y/gm, d.getFullYear().toString())
.replace(/m/gm, ('0' + (d.getMonth() + 1)).substr(-2))
.replace(/d/gm, ('0' + (d.getDate() + 1)).substr(-2))
.replace(/H/gm, ('0' + (d.getHours() + 0)).substr(-2))
.replace(/i/gm, ('0' + (d.getMinutes() + 0)).substr(-2))
.replace(/s/gm, ('0' + (d.getSeconds() + 0)).substr(-2))
.replace(/v/gm, ('0000' + (d.getMilliseconds() % 1000)).substr(-3));
}
//TEST
var ms = '1519073776000';
var dateFormat = "Y-m-d H:i:s.v";
var formatted = format(ms, dateFormat);
console.log(formatted);

或者您可以选择退出所有这些并使用MomentJS这样的库来处理此问题。