问题:
在实现文章发布时间的时候,time直接print是正常的,序列化之后打印则是带T的即时区相关的。
导致在前端js中获取的时候
在前端页面还是显示带“T”,下面2个,第一个是正确显示,第二个则有问题
解决办法:
-
在后端处理时间日期,序列化的时候格式化日期时间:
2.在前端处理格式化
/*======= 日期格式化 =======*/
function dateFormat(time) {
// 获取当前的时间戳
var timeNow = Date.now();
// 获取发表文章的时间戳
var TimeStamp = new Date(time).getTime();
// 转为秒
var second = (timeNow - TimeStamp) / 1000;
if (second < 60) {
return '刚刚'
} else if (second >= 60 && second < 60 * 60) {
var minute = Math.floor(second / 60);
return minute + "分钟前";
} else if (second >= 60 * 60 && second < 60 * 60 * 24) {
var hour = Math.floor(second / 60 / 60);
return hour + "小时前";
} else if (second >= 60 * 60 * 24 && second < 60 * 60 * 24 * 30) {
var day = Math.floor(second / 60 / 60 / 24);
return day + "天前";
} else {
var date = new Date(TimeStamp);
var Y = date.getFullYear() + '/';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '/';
var D = (date.getDate() < 10 ? '0' + (date.getDate()) : date.getDate()) + ' ';
var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
var m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes());
return Y + M + D + h + m;
}
}