关于JavaScript时间戳及其与日期对象的相互转换

时间戳: 表示从1970年1月1日零点距离某时刻的毫秒数。

那么,为什么起始时间从1970年开始?
简单来讲,很多编程语言起源于UNIX系统,而UNIX系统认为1970年1月1日0点是时间纪元,所以为常说的UNIX时间戳是以1970年1月1日0点为计时起点的。

获取日期对象
使用new Date()即可得到日期对象,如果Date()中不写参数则返回当前时间的日期对象,如果Date()中写参数则返回参数指定时间的日期对象。

new Date()
// Thu Apr 21 2022 21:05:44 GMT+0800 (中国标准时间)

new Date('2022-01-01')
// Sat Jan 01 2022 08:00:00 GMT+0800 (中国标准时间)

获得当前时间的时间戳的几种方式:

+new Date() // 1650545059942

new Date().valueOf() // 1650545071189

new Date().getTime() // 1650545075166

Date.now() // 1650545079574
// Date.now()为HTML5新增

指定日期转换为时间戳

+new Date('2022-01-01') // 1640995200000

new Date('2022-01-01').valueOf() // 1640995200000

new Date('2022-01-01').getTime() // 1640995200000

Date.parse('2022-01-01') // 1640995200000
Date.parse(new Date('2022-01-01')) // 1640995200000
// 使用Date.parse()得到的毫秒数后三位一定是0,即精确到秒

指定时间戳转换为日期对象

new Date(1640995200000)
// Sat Jan 01 2022 08:00:00 GMT+0800 (中国标准时间)

版权声明:本文为m0_45911911原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。