将心比心,方得人心~

vue通过过滤器filters实现把时间戳转为yyyy-MM-dd hh:mm格式的时间

周洲 2017-12-17 16:16:30

第一步:html部分:


<div class="time">{{rating.rateTime | formatDate}}</div>
说明:把 rating.rateTime 解析出的时间戳通过 formatDate 传递给过滤器 filters 处理



第二步:JS部分:


		filters: {
			formatDate(time) {
				let date = new Date(time)
				return formatDate(date, 'yyyy-MM-dd hh:mm')
			}
		},
第三步:在common->js目录下新建一个名为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)
}
第四步:引入date.js



import {formatDate} from '@/common/js/date'



打赏

『微信打赏』

Tag标签vue 

我是有底线的