时间戳转换为特定的时间格式

如果在项目中我们拿到时间戳,但是我们一般希望得到自己想要的时间格式,如下:

function formatDate(timestamp, separator) {
	if (!separator) {
		separator = '-'
	}
	const date = new Date(timestamp)
	const { y, m, d, h, min, sec, week } = {
		y: date.getFullYear(), 
		m: date.getMonth() + 1, 
		d: date.getDate(), 
		h: date.getHours(), 
	        min: date.getMinutes(), 
		sec: date.getSeconds(),
		week: date.getDay()}
		const weekList = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']
		return y + separator + (m > 9 ? m : '0' + m) + separator + (d > 9 ? d : '0' + d) + ' ' + (h > 9 ? h: '0'+ h) + ':' + (min > 9 ? min : '0' + min) + ':' + (sec > 9 ? sec : '0' + sec) + ' ' + weekList[week]
}

因为在一个周中的第一天是从星期天开始的,所以把星期天作为周数组的第一个!

方法调用:

setInterval(function() {
	const now = new Date()
	console.log(formatDate(now)) // 2019-12-03 10:12:34 星期二
	console.log(formatDate(now, '-')) // 2019-12-03 10:12:34 星期二
	console.log(formatDate(now, '/')) // 2019/12/03 10:12:34 星期二
	console.log(formatDate(now, ' ')) // 2019 12 03 10:12:34 星期二
}, 1000)

posted @ 2019-12-03 10:15  zaijinyang  阅读(866)  评论(0编辑  收藏  举报