12345678910111213141516171819202122232425262728293031323334 |
- import Vue from 'vue'
- Vue.filter('timeFormat', function (date, fmt) {
- if (!date) {
- return '';
- }
- if(typeof date === 'number'){
- date = new Date(date);
- }
- if (typeof date === 'string') {
- var dateArr = date.split(/[- : \/]/);
- date = new Date(dateArr[0], dateArr[1] - 1, dateArr[2], dateArr[3], dateArr[4], dateArr[5]);
- }
- if (/(y+)/.test(fmt)) {
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
- }
- let o = {
- 'M+': date.getMonth() + 1,
- 'd+': date.getDate(),
- 'H+': date.getHours(),
- 'm+': date.getMinutes(),
- 's+': date.getSeconds()
- };
- for (let k in o) {
- if (new RegExp(`(${k})`).test(fmt)) {
- let str = o[k] + '';
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
- }
- }
- function padLeftZero(str) {
- return ('00' + str).substr(str.length);
- }
- return fmt;
- })
|