博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js时间日期友好显示
阅读量:5970 次
发布时间:2019-06-19

本文共 2652 字,大约阅读时间需要 8 分钟。

hot3.png

function formatMsgTime(timespan) {    var dateTime = parseDate(timespan);    var year = dateTime.getFullYear();    var month = dateTime.getMonth() + 1;    var day = dateTime.getDate();    var hour = dateTime.getHours();    var minute = dateTime.getMinutes();    minute = minute < 10 ? "0" + minute : minute    var second = dateTime.getSeconds();    var now = new Date();    var milliseconds = 0;    var timeSpanStr = "";    milliseconds = now.getTime() - dateTime.getTime();    var when = "";    if (hour < 6) when = "凌晨 "    else if (hour < 9) when = "早上 "    else if (hour < 12) when = "上午 "    else if (hour < 14) when = "中午 "    else if (hour < 17) when = "下午 "    else if (hour < 19) when = "傍晚 "    else if (hour < 22) when = "晚上 "    else when = "深夜 "    if (milliseconds <= 1000 * 30 * 1) {        timeSpanStr = '刚刚';    } else if (milliseconds <= 1000 * 60 * 1) {        timeSpanStr = '1分钟内';    } else if (1000 * 60 * 1 < milliseconds && milliseconds <= 1000 * 60 * 30) {        timeSpanStr = Math.round((milliseconds / (1000 * 60))) + '分钟前';    }    else if (1000 * 60 * 30 < milliseconds && milliseconds <= 1000 * 60 * 60) {        timeSpanStr = '半小时前';    }    else if (1000 * 60 * 60 < milliseconds && milliseconds <= (1000 * 60 * 60 * now.getHours() + 1000 * 60 * now.getMinutes() + 1000 * now.getSeconds() + now.getMilliseconds())) {        timeSpanStr = "今天" + when + hour + ":" + minute;    }    else if (1000 * 60 * 60 * now.getHours() < milliseconds && milliseconds <= 1000 * 60 * 60 * 24) {        timeSpanStr = '昨天' + when + hour + ":" + minute;    }    else if (1000 * 60 * 60 * 24 < milliseconds && milliseconds <= 1000 * 60 * 60 * 24 * 15) {        var d = Math.round(milliseconds / (1000 * 60 * 60 * 24));        if (d == 1 || (d == 2 && milliseconds == (1000 * 60 * 60 * now.getHours() + 1000 * 60 * now.getMinutes() + 1000 * now.getSeconds() + now.getMilliseconds()) + 86400000)) {            timeSpanStr += '昨天'        } else if (d == 2) {            timeSpanStr += '前天'        } else if (d == 3) {            timeSpanStr += '大前天'        } else {            timeSpanStr += Math.round(milliseconds / (1000 * 60 * 60 * 24)) + '天前';        }        timeSpanStr += when + hour + ":" + minute    }    else if (milliseconds > 1000 * 60 * 60 * 24 * 15 && year == now.getFullYear()) {        timeSpanStr = month + '月' + day + '日 ' + hour + ':' + minute;    } else {        timeSpanStr = year + '年' + month + '月' + day + '日 ' + hour + ':' + minute;    }    return timeSpanStr;}
var parseDate = function (dateString) {    return new Date(Date.parse(dateString.replace(/-/g, "/")));};

转载于:https://my.oschina.net/junko2013/blog/1518564

你可能感兴趣的文章
Android 自定义WaveProgressView满足你所有水波纹加载需求
查看>>
特征点的基本概念和如何找到它们
查看>>
mysql查询结果单位换算后小数位数的保留方式
查看>>
翻译:WebApi 认证--用户认证Oauth解析
查看>>
markdown自动生成侧边栏TOC /目录
查看>>
【Windows】Windows Restart Manager 重启管理器
查看>>
NPOI 导入Excel和读取Excel
查看>>
[LeetCode] Poor Pigs 可怜的猪
查看>>
[js高手之路]打造通用的匀速运动框架
查看>>
C#创建windows服务并定时执行
查看>>
[译]ASP.NET Core 2.0 机密配置项
查看>>
git常用命令
查看>>
[docker]docker压力测试
查看>>
数据结构—栈/队列
查看>>
DEDECMS最新5.7版在Windows下的Memcache安装
查看>>
nginx Win下实现简单的负载均衡(2)站点共享Session
查看>>
[sql]sqlite3板子上安装运行报错
查看>>
【Java基础】Java基本数据类型与位运算
查看>>
heidiSQL使用简介
查看>>
kgtemp文件转mp3工具
查看>>