vue 中常见的时间格式转换

编程入门 行业动态 更新时间:2024-10-27 18:32:56

项目中后台返回的时间有多种形式,时间戳、ISO标准时间格式等,我们需要转化展示成能看的懂得时间格式:

1、将2020-06-27T14:20:27.000000Z 时间格式转换成 2020-06-27 14:20:27

可以将方法定义为全局过滤器,或全局方法方便引用

Vue.filter('format', function(date) {
    var json_date = new Date(date).toJSON();
    return new Date(new Date(json_date) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '')
})

{{timeVal | format}}

2、将时间戳格式化

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)
}

使用方法:
formatDate(date, 'yyyy-MM-dd hh:mm');
formatDate(date, 'yyyy-MM-dd');

3、Vue中使用moment.js(时间格式化插件);

安装moment.js插件

          

npm install moment --save

定义全局过滤器

import moment from 'moment';

Vue.filter('dateFormat',function(value,format)){
    return moment(value).format(format);
}

使用方法:
{{time | dateFormat('YYYY-MM-DD HH:mm:ss')}}



直接在Vue中定义成时间格式方法:
import moment from 'moment';
Vue.prototype.$moment = moment;


在vue文件中当作方法使用
this.$moment(timeVal).format('YYYY-MM-DD'); // 2022-02-11

更多推荐

vue 中常见的时间格式转换

本文发布于:2023-06-14 06:14:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1445297.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:格式转换   常见   时间   vue

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!