1、自定义方法转换
getYMDHMS (timestamp) { let time = new Date(timestamp) let year = time.getFullYear() let month = time.getMonth() + 1 let date = time.getDate() let hours = time.getHours() let minute = time.getMinutes() let second = time.getSeconds() if (month < 10) { month = '0' + month } if (date < 10) { date = '0' + date } if (hours < 10) { hours = '0' + hours } if (minute < 10) { minute = '0' + minute } if (second < 10) { second = '0' + second } return year + '-' + month + '-' + date + ' ' + hours + ':' + minute + ':' + second }
使用es6的padStart()方法来补0
// 使用es6的padStart()方法来补0 getYMDHMS (timestamp) { let time = new Date(timestamp) let year = time.getFullYear() const month = (time.getMonth() + 1).toString().padStart(2, '0') const date = (time.getDate()).toString().padStart(2, '0') const hours = (time.getHours()).toString().padStart(2, '0') const minute = (time.getMinutes()).toString().padStart(2, '0') const second = (time.getSeconds()).toString().padStart(2, '0') return year + '-' + month + '-' + date + ' ' + hours + ':' + minute + ':' + second }
2、使用JavaScript 日期处理类库转换(Moment.js)
类库地址:http://momentjs.cn/
需要先npm安装:npm install moment
import Moment from 'moment' // 时间戳(毫秒)转化为标准时间格式 export function getFullTime(timeStamp) { const stamp = new Date(timeStamp) const time = Moment(stamp).format('YYYY-MM-DD HH:mm:ss') return time }
3、相对时间戳计算
getTime()
方法可返回距 1970 年 1 月 1 日之间的毫秒数。Date.now()
获取当前时间的时间戳(毫秒)toLocaleDateString()
方法可根据本地时间把 Date 对象的日期部分
转换为字符串,并返回结果。
let curDate = new Date() //当前时间,时间戳 let endTimestamp = curDate.getTime() // 前一天时间戳(前24小时) let endTimestamp = curDate.getTime() - 24 * 60 * 60 * 1000 //当前时间戳(毫秒) - 1天毫秒数 = 前一天时间戳 // 当前时间的后10分钟,时间戳 let timeStamp = curDate.getTime() + 10 * 60 * 1000 // 明天的此时,时间戳 let endTimestamp = curDate.getTime() + 24 * 60 * 60 * 1000 // 当天0点,时间戳 let endTimestamp = new Date(new Date().toLocaleDateString()).getTime() // 昨天0点,时间戳 let endTimestamp = new Date(new Date().toLocaleDateString()).getTime() - 24 * 60 * 60 * 1000 // 昨天23:59:59点(当天0点 - 1秒),时间戳 let endTimestamp = new Date(new Date().toLocaleDateString()).getTime() - 1 * 1000 // 前六天0点,时间戳 let endTimestamp = new Date(new Date().toLocaleDateString()).getTime() - 24 * 60 * 60 * 1000 * 6
可以套用上面的时间戳换算方法测试下时间对不对。
也可以用在线版的时间戳转为时间字符串: https://tool.lu/timestamp/
2021-05-26 09:39:06