在前端项目中,有时会有后台返回一个时间戳,页面展示却是普通的日期格式,针对这种情况有很多种解决的办法, 最常见的就是组件库中自带的日期组件,可以将时间戳自动转换成普通时间格式。本篇文章将展示在不需要日期组件的时候就怎么 使用原生的方法去进行转化。
- 代码如下:
timeChange(UTCDateString) {
if (!UTCDateString) {
return '-';
}
function formatFunc(str) {
return str > 9 ? str : '0' + str
}
var date2 = new Date(UTCDateString);
var year = date2.getFullYear();
var mon = formatFunc(date2.getMonth() + 1);
var day = formatFunc(date2.getDate());
var hour = date2.getHours();
var noon = hour >= 12 ? 'PM' : 'AM'; // 判断是上午还是下午
hour = hour >= 12 ? hour - 12 : hour; // 12小时制
hour = formatFunc(hour);
var min = formatFunc(date2.getMinutes());
var sec = formatFunc(date2.getSeconds());
var dateStr = year + '-' + mon + '-' + day + ' ' + hour + ':' + min + ':' + sec;
return dateStr;
},
在调用函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。如果想传入特定日期,需将表示日期的字符串传递给函数。如下所示:
this.timeChange(res.result.builtAt)//括号中是需要传进去的时间戳
最后就可以成功的把时间戳转换为普通的时间格式啦!