欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue2.0 自定义日期时间过滤器

程序员文章站 2022-06-24 17:18:06
方法一: // template {{a | data}} //script data:{ a: date.now() } filters: {...

方法一:

// template
{{a | data}}
//script
data:{
  a: date.now()
}
filters: {
  data:function (input) {
    var d = new date(input);
    var year = d.getfullyear();
    var month = d.getmonth() + 1;
    var day = d.getdate() <10 ? '0' + d.getdate() : '' + d.getdate();
    var hour = d.gethours();
    var minutes = d.getminutes();
    var seconds = d.getseconds();
    return year+ '-' + month + '-' + day + ' ' + hour + ':' + minutes + ':' + seconds;
  }

方法二: 正则

// template
{{date | formatdate}}
//script
import {formatdate} from '../../common/js/date'
filters: {
 formatdate (time) {
  let date = new date(time)
  return formatdate(date, 'yyyy-mm-dd hh:mm')
 }
}
//date.js
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 : padleftzero(str))
  }
 }
 return fmt
}
function padleftzero (str) {
 return ('00' + str).substr(str.length)
}

以上所述是小编给大家介绍的vue2.0 自定义日期时间过滤器,希望对大家有所帮助