[f]聊天的时间格式化

时间:2021-05-17 21:56:27

代码如下:

参数:

  t: 时间戳, type:返回格式(1:IM界面,其他:会话列表)

function formartTime(t, type) {
        var oldtime = new Date(t);
        var date = new Date();
        var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime(); //今天凌晨
        var yestday = new Date(today - 24 * 3600 * 1000).getTime();
        var beforeYestday = new Date(today - 24 * 3600 * 1000 * 2).getTime();
        var beforeWeek = new Date(today - 24 * 3600 * 1000 * 7).getTime();
        var Y = oldtime.getFullYear(); //年份
        var M = oldtime.getMonth() + 1; //月份         
        var d = oldtime.getDate(); //
        var h = oldtime.getHours() % 12 == 0 ? 12 : oldtime.getHours() % 12; //12小时         
        var H = oldtime.getHours(); //24小时         
        var m = oldtime.getMinutes(); //
        var w = toWeek(oldtime.getUTCDay()); //星期
        var timesolt = toTimeSolt(oldtime.getHours()); //时间段 

        timeStr = '';

        //当天
        if (oldtime.getTime() > yestday) {
            timeStr = H + ':' + m;
        }
        //昨天
        if (oldtime.getTime() < today && yestday <= oldtime.getTime()) {
            timeStr = '昨天 ' + (type == 1 ? H + ':' + m : '');
        }
        // 一周内
        if (oldtime.getTime() < yestday && beforeWeek <= oldtime.getTime()) {
            timeStr = w + (type == 1 ? ' ' + H + ':' + m : '');
        }
        // 一周前
        if (oldtime.getTime() < beforeWeek) {
            timeStr = type == 1 ? Y + '年' + M + '月' + d + '日 ' + timesolt + ' ' + H + ':' + m : Y + '/' + M + '/' + d;
        }
        // 比当前时间晚
        if (oldtime.getTime() > date.getTime()) {
            timeStr = '手动修改';
        }

        // 格式化时间段
        function toTimeSolt(h) {
            var bt = '';
            if (0 <= h && h <= 3)
                bt = '凌晨';
            if (4 <= h && h <= 8)
                bt = '早上';
            if (9 <= h && h <= 11)
                bt = '上午';
            if (12 == h)
                bt = '中午';
            if (13 <= h && h <= 17)
                bt = '下午';
            if (18 <= h && h <= 23)
                bt = '晚上';

            return bt;
        }

        // 格式星期
        function toWeek(w) {
            var week = '';
            switch (w) {
                case 0:
                    week = '星期日';
                    break;
                case 1:
                    week = '星期一';
                    break;
                case 2:
                    week = '星期二';
                    break;
                case 3:
                    week = '星期三';
                    break;
                case 4:
                    week = '星期四';
                    break;
                case 5:
                    week = '星期五';
                    break;
                case 6:
                    week = '星期六';
                    break;
            }
            return week;
        }
        return timeStr;
    }

使用:

formartTime('1512230340000', 1)
 
 

相关文章