项目中有个字段需要计算两个时间的时间差,并且按照 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'))