87,901
社区成员
发帖
与我相关
我的任务
分享
// 时间部份
let time = '22:17:33'
// 随意指定一个日期部份
const date = '2020-01-01'
// 组成完整的时间
time = date + ' ' + time
// 将完整的时间转化为时间戳
let toTime = Date.parse(time)
/**
* 情况1:如果这个time是独立的,只是前端需要还原,那上面的toTime就已经可以了,因为还原的时候,你只要还原时间部份就会一样
* 情况2:如果你的业务逻辑中是比如有2个选项,先选日期,后选时间,
* 转换为时间戳后再交由后端入库后,可能还会需要对这2个东西进行相加来获取一个完整的时间戳
* 这种情况时,你需要只保留时间部份的时间戳。那么,你还需要以下处理
*/
/**
* 用toTime-上面随意指定的日期转化为的时间戳,这里得出来的差就是时间部份的时间戳
* 需要注意的是,这个时间戳你不能拿去直接转换为字符串日期,因为将会在前面附加上起始日期1970-01-01
* ***这里用10楼老顾取余的方法:toTime % (24 * 60 * 60 * 1000) 得出来的结果也会是一样的
*
* 如果只需要原时间部份的时间戳,去除下面这句的注释,使它生效
*/
// toTime =toTime - Date.parse(date)
// 下面就是将时间戳转换为字符串
// 先转换为日期格式
const toDate = new Date(toTime)
// 然后只取时间部份即可
const timeToStr = toDate.getHours() + ':' + toDate.getMinutes() + ':' + toDate.getSeconds()
console.log(toTime, timeToStr)
console.log(new Date().getTime())
console.log(new Date(1620870369938))