1.代码:
function formatDateFn(timeStamp, format) {
var date = '';
if (typeof timeStamp === 'string' || typeof (timeStamp) === 'number') {
date = new Date(parseInt(timeStamp));
} else if (typeof (timeStamp) === 'object') {
date = new Date(timeStamp);
};
var padNum = function (num) {
num += '';
return num.replace(/^(\d)$/, '0$1');
};
// 指定格式字符
var cfg = {
yyyy: date.getFullYear(), // 年 : 4位
yy: date.getFullYear().toString().substring(2), // 年 : 2位
M: date.getMonth() + 1, // 月 : 如果1位的时候不补0
MM: padNum(date.getMonth() + 1), // 月 : 如果1位的时候补0
d: date.getDate(), // 日 : 如果1位的时候不补0
dd: padNum(date.getDate()), // 日 : 如果1位的时候补0
hh: date.getHours(), // 时
mm: date.getMinutes(), // 分
ss: date.getSeconds() // 秒
};
format || (format = 'yyyy-MM-dd hh:mm:ss');
return format.replace(/([a-z])(\1)*/ig, function (m) {
return cfg[m];
});
};
2.例子:
如果是在vue等webpack中引入
1.首先新建formatDate.js
2.将代码拷贝进去,但是注意要在函数的最前面写export,将函数输出
3.在vue文件中引用
import {formatDateFn} from '../../common/js/formatDate';
4.使用的时候使用filters方法
filters: {
formatDate(time) {
let date = new Date(time);
return formatDateFn(date, 'yyyy-mm-dd hh:mm');
}
},
<div class="time">{{item.rateTime | formatDate}}</div>
3.silly-datetime插件
如果你想直接引用npm中的插件,那么推荐使用silly-datetime
https://www.npmjs.com/package/silly-datetime