vue 时间格式化
2019-07-17 本文已影响0人
哒哒哒哒da
1.函数封装
/**
* splitValue 获取当前时间
* @param value
* @returns {array}
*/
export function formatDate(date, fmt) {
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 : ('00' + str).substr(str.length)
);
}
}
return fmt;
}
export default {
formatDate,
};
2.文件引入(注意:由于是函数,故名字要和函数的名字一致)
// 获取格式化时间函数
import {formatDate} from '@/common/filter.js';
3.使用
(1)在过滤器中使用
filters: {
formatDate(time) {
var date = new Date(time);
return formatDate(date, 'yyyy-MM-dd');
}
},
(2)在HTML中使用
<div class="time">{{item.XXX| formatDate}}</div>
(3)在JS中使用
let nowDate = formatDate(new Date(), 'yyyy-MM-dd hh:mm:ss');
------------------------ 分割线 ------------------------
方法2 - 函数封装 其他操作如上
/**
* splitValue 时间戳 转换
* @returns {string}
*/
export function formatDate(value) {
let date = new Date(value);
let y = date.getFullYear();
let MM = date.getMonth() + 1;
MM = MM < 10 ? '0' + MM : MM;
let d = date.getDate();
d = d < 10 ? '0' + d : d;
let h = date.getHours();
h = h < 10 ? '0' + h : h;
let m = date.getMinutes();
m = m < 10 ? '0' + m : m;
let s = date.getSeconds();
s = s < 10 ? '0' + s : s;
return y + '-' + MM + '-' + d + ' ' + h + ':' + m + ':' + s;
}