常用的时间格式转化整合js

586 阅读1分钟

做项目时经常会格式化一些时间,我整合了一些常用的写了个js,发篇文章记录下,之后会陆续发布一些实用的项目中的工具js,代码比较粗糙还要继续学习改进。

使用就是两个参数 一个格式这个可以自行添加所需 还有个就是时间戳

import date from '@/common/time.js'
let t = new Date().getTime()
date.time('w',t)

// 时间格式转化整合
export default {
	//y年 M月 d日 H时 m分 s秒 w周几
	time:(type,timestamp)=>{
		let date = new Date(timestamp)
		let y = date.getFullYear()
		let M = date.getMonth() + 1 < 10 ? `0${date.getMonth()+1}` : date.getMonth() + 1
		let d = date.getDate() < 10 ? `0${date.getDate()}` : date.getDate()
		let H = date.getHours() < 10 ? `0${date.getHours()}` : date.getHours()
		let m = date.getMinutes() < 10 ? `0${date.getMinutes()}` : date.getMinutes()
		let s = date.getSeconds() < 10 ? `0${date.getSeconds()}` : date.getSeconds()
		let weekNum = date.getDay()
		let weekList = ['日','一','二','三','四','五','六']
		let w = weekList[weekNum]

		let result

		switch(type){
			case 'y-M-d':
				result = `${y}-${M}-${d}`;
				break;
			case 'M-d':
				result = `${M}-${d}`;
				break;
			case 'H:m:s':
				result = `${H}:${m}:${s}`;
				break;
			case 'H:m':
				result = `${H}:${m}`;
				break;
			case 'm:s':
				result = `${m}:${s}`;
				break;
			case 'y-M-d H:m:s':
				result = `${y}-${M}-${d} ${H}:${m}:${s}`;
				break;
			case 'y-M-d H:m':
				result = `${y}-${M}-${d} ${H}:${m}`;
				break;
			case 'M-d H:m:s':
				result = `${M}-${d} ${H}:${m}:${s}`;
				break;
			case 'M-d H:m':
				result = `${M}-${d} ${H}:${m}`;
				break;
			case 'w':
				result = `周${w}`;
				break;
			default:
				result = '格式错误!'
		}

		return result
	}
}