发布时间显示函数

/**
 * 发布时间显示函数
 * @method timeFormat(time)
 * @param {number} time 时间戳(必填)
 * @example  var text=timeFormat(1472048779952);
@ 1、< 60s, 显示为“刚刚”
@ 2、>= 1min && < 60 min, 显示与当前时间差“XX分钟前”
@ 3、>= 60min && < 1day, 显示与当前时间差“今天 XX:XX”
@ 4、>= 1day && < 1year, 显示日期“XX月XX日 XX:XX”
@ 5、>= 1year, 显示具体日期“XXXX年XX月XX日 XX:XX”
*/
function timeFormat(time) {
    var date;
    if (time.length == 10) {
        date = new Date(parseInt(time) * 1000);
    } else if (time.length == 13) {
        date = new Date(parseInt(time));
    }
    var curDate = new Date(),
        year = date.getFullYear(),
        month = date.getMonth() + 1,
        day = date.getDate(),
        hour = date.getHours(),
        minute = date.getMinutes(),
        curYear = curDate.getFullYear(),
        curHour = curDate.getHours(),
        timeStr;

    if (year < curYear) {
        timeStr = year + '年' + month + '月' + day + '日 ' + hour + ':' + minute;
    } else {
        var pastTime = curDate - date,
            pastH = pastTime / 3600000;

        if (pastH > curHour) {
            timeStr = month + '月' + day + '日 ' + hour + ':' + minute;
        } else if (pastH >= 1) {
            timeStr = '今天 ' + hour + ':' + minute + '分';
        } else {
            var pastM = curDate.getMinutes() - minute;
            if (pastM > 1) {
                timeStr = pastM + '分钟前';
            } else {
                timeStr = '刚刚';
            }
        }
    }
    return timeStr;
}

免责申明:

1. 本站所有教程、文章或资源分享目的仅供大家学习和交流!
2. 如有无法查看或链接失效,麻烦请报告联系管理员处理!
3. 本站无法保证资源或其时效性,恕不接受任何提问。
4. 在本站下载的源码严禁杜绝任何形式的正式商业用途,请去程序官方购买。 所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,我们将于3个工作日内予以删除。

学习交流联系

立即查看 了解详情