问题小记

问题:

在实现文章发布时间的时候,time直接print是正常的,序列化之后打印则是带T的即时区相关的。


image.png

导致在前端js中获取的时候


image.png

在前端页面还是显示带“T”,下面2个,第一个是正确显示,第二个则有问题
image.png

解决办法:

  1. 在后端处理时间日期,序列化的时候格式化日期时间:


    image.png

    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;
    }
}

最终显示效果:

image.png

你可能感兴趣的:(问题小记)