moment.js 格式化显示时间差

JavaScript013

moment.js 格式化显示时间差,第1张

moment.js 格式化显示时间差

项目中有个字段需要计算两个时间的时间差,并且按照 x天 x 小时 x 分钟 显示,如

之前已经在项目中引入了 moment.js ,接下来用其中的一些方法封装一个可以得到目标字符串的函数。

dateFormat = function (date, format) {

date = new Date(date)

var o = {

'M+' : date.getMonth() + 1, //month

'd+' : date.getDate(), //day

'H+' : date.getHours(), //hour

'm+' : date.getMinutes(), //minute

's+' : date.getSeconds(), //second

'q+' : Math.floor((date.getMonth() + 3) / 3), //quarter

'S' : date.getMilliseconds() //millisecond

}

if (/(y+)/.test(format))

format = format.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))

for (var k in o)

if (new RegExp('(' + k + ')').test(format))

format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ('00' + o[k]).substr(('' + o[k]).length))

return format

}

console.log(dateFormat('Mon Apr 27 09:08:20 CST 2015','yyyy-MM-dd HH:mm:ss'))