时间戳转换指定格式

工具代码:使用了正则表达式

 1 export function formatDate(date, fmt) {
 2   if (/(y+)/.test(fmt)) {
 3     fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
 4   }
 5   let o = {
 6     'M+': date.getMonth() + 1,
 7     'd+': date.getDate(),
 8     'h+': date.getHours(),
 9     'm+': date.getMinutes(),
10     's+': date.getSeconds()
11   };
12   for (let k in o) {
13     if (new RegExp(`(${k})`).test(fmt)) {
14       let str = o[k] + '';
15       fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
16     }
17   }
18   return fmt;
19 };
20 
21 function padLeftZero (str) {
22   return ('00' + str).substr(str.length);
23 };

以vue过滤器为例调用:

1 filters: {
2   showDate: function (value) {
3     let date = new Date(value * 1000);
4     return formatDate(date, 'yyyy-MM-dd')
5   }
6 }

猜你喜欢

转载自www.cnblogs.com/116970u/p/12972241.html