项目中经常使用时间标准格式作为参数处理一些功能,比如当前时间一年后的时间标准格式作为参数等等。
封装函数如下:
function formatDate (currentTime,fmt) {
// currentTime Wed Jun 20 2018 16:12:12 GMT+0800 (中国标准时间)
var o = {
'M+': currentTime.getMonth() + 1, // 月份
'd+': currentTime.getDate(), // 日
'h+': currentTime.getHours(), // 小时
'm+': currentTime.getMinutes(), // 分
's+': currentTime.getSeconds(), // 秒
'q+': Math.floor((currentTime.getMonth() + 3) / 3), // 季度
'S': currentTime.getMilliseconds() // 毫秒
}
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (currentTime.getFullYear() + '').substr(4 - RegExp.$1.length))
for (var k in o) {
if (new RegExp('(' + k + ')').test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
}
return fmt
}
放入浏览器可以查看打印效果:
console.log(formatDate(new Date(new Date().getTime() + 364*24*60*60*1000),"yyyy-MM-dd","yyyy-MM-dd").toString());
效果如图: