Vue.filter('formatDate', function(tstr, fmt) { //author: meizz
if (!tstr) return;
if(typeof(tstr) == 'string' && tstr.indexOf('T')>=0){
tstr = tstr.replace('T',' ')
}
if(typeof(tstr) == 'string' && tstr.indexOf('Z')>=0){
tstr = tstr.replace('Z','')
}
if( typeof(tstr) == 'string' && tstr.indexOf('-')>=0){
tstr = tstr.replace(/\-/g,'/')
}
let date = new Date(tstr);
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()
}
function padLeftZero(str) {
return ('00' + str).substr(str.length)
}
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))
}
}
return fmt
})