把时间转成适合符合日常习惯的格式【js】
假设现在是7月30日12点,我们可以说今天12点,意思也非常明确。
我们习惯说昨天12点,而不习惯说29号12点。
我们习惯说周一12点,而不习惯说28号12点,这样不用翻日历看今天是几号。
so,上代码:
var oneDay = 24 * 60 * 60 * 1000;//一天的毫秒数 String.prototype.paddingLeft0 = function () { return this.length === 1 ? '0' + this : this; } //解析 像这样的时间 '/Date(1406532408860)/' //返回适合现在阅读的时间 function parseTime(time) { var res = ''; var t = eval('new ' + time.toString().replace(/\//g, '')); var M = t.getMonth() + 1+''; var d = t.getDate()+''; var wd = t.getDay()+''; var h = (t.getHours() + '').paddingLeft0(); var m = (t.getMinutes()+'').paddingLeft0(); var n = new Date(); var getDays = function (n, t) { var r = 0; if ((n - t) >= oneDay) { if ((n - t) >= oneDay && (n - t) < oneDay * 2) { r = 1; } else if ((n - t) >= oneDay * 2 && (n - t) < oneDay * 3) { r = 2; } else { r = -1; }//-1表示大于2天 } return r; } var w = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']; switch (getDays(n, t)) { case 0: res = '<strong>今天</strong> ' + h + ':' + m; break; case 1: res = '<strong>昨天</strong> ' + h + ':' + m; break; case 2: res = '<strong>'+w[wd]+'</strong> ' + h + ':' + m; break; case -1: res = '<strong>' + M + '月' + d + '日</strong> ' + h + ':' + m; break; default: break; } return res; }
then,上图: