前言
日期转换在项目中经常需要使用,本文总结两种常用的时间转换方法。
高级版:Day.js
Day.js 是一个极简的 JavaScript 库,可以为现代浏览器解析、验证、操作和显示日期和时间。
Day.js 中文网
安装
全局引入(Vue 2)
1 2
| import dayjs from 'dayjs' Vue.prototype.dayjs = dayjs
|
使用示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| <template> <div></div> </template>
<script> export default { methods: { init() { var nowTime0 = this.dayjs().unix() var nowTime2 = this.dayjs().format('YYYY/MM/DD') var nowTime3 = this.dayjs().format('YYYY-MM-DD HH:mm:ss') var nowTime4 = this.dayjs().valueOf()
const nowStartDay = this.dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss.SSS') const nowEndDay = this.dayjs().startOf('day').format('YYYY-MM-DD HH:mm:ss.SSS')
const date1 = this.dayjs('2023-01-10') const date2 = this.dayjs('2023-11-10') const diffDay = date2.diff(date1, 'd')
const convertTime1 = this.dayjs(1706753478000).format('YYYY-MM-DD HH:mm')
const convertTime2 = this.dayjs('2024/01/29 08:55:18').format('YYYY-MM-DD HH:mm') }, }, created() { this.init() }, } </script>
|
初级版:原生 JavaScript
日期数组转换
将后端传来的日期数组:
1
| ;['2024/01/29 08:55:18', '2024/01/29 09:55:18', '2024/01/29 10:11:18']
|
转为:
1
| ;['2024-01-29 08:55', '2024-01-29 09:55', '2024-01-29 10:11']
|
1 2 3 4 5 6 7 8 9 10 11 12 13
| convertDateTimeFormat(arr) { var tempArr = arr.map(function (dateTime) { var date = new Date(dateTime) var formattedDateTime = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2) + ' ' + ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2) return formattedDateTime }) return tempArr }
|
单个日期字符串转换
输入:
输出:
1 2 3 4 5 6 7 8 9 10
| convertDateTimeFormat(dateTime) { var date = new Date(dateTime) var formattedDateTime = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2) + ' ' + ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2) return formattedDateTime }
|
时间戳转换
输入:
1
| var curveTimestamp = 1706753478000
|
输出:
1 2 3 4 5 6 7 8 9 10
| convertDateTimeFormat(timestamp) { var date = new Date(timestamp) var formattedDateTime = date.getFullYear() + '-' + ('0' + (date.getMonth() + 1)).slice(-2) + '-' + ('0' + date.getDate()).slice(-2) + ' ' + ('0' + date.getHours()).slice(-2) + ':' + ('0' + date.getMinutes()).slice(-2) return formattedDateTime }
|