vue中常见的时间格式转换

vue中常见的时间格式转换

项目中后台返回的时间有多种形式,时间戳、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常见时间格式转换请查看下面的相关链接

推荐阅读