node.js中时间戳和日期之间的转换

时间:2020-12-04 02:19:28

今天在做项目的时候遇到可需要在时间戳和日期之间转换的问题。忙了很长时间,这里总结记录一下。

首先,我们来了解一下js里面的Date对象。Date对象是JavaScript提供的日期和时间的操作接口。它有多种用法。

1.new Date(milliseconds):Date对象接受从1970年1月1日00:00:00 UTC开始计算的毫秒数作为参数。这意味着如果将Unix时间戳作为参数,必须将Unix时间戳乘以1000。

UNIX时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,注意是秒,而date对象接收的是毫秒。

2.new Date("2013-02-15 21:00:00");

对象接收一个标准的日期格式字符串,将其转换成对应时间:

node.js中时间戳和日期之间的转换

3.date.getTime();

返回是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数;

node.js中时间戳和日期之间的转换

所以我们获取以字符串形式给予的日期的时间戳如下:

var date = new Date("2013-02-15 21:00:00");
var time = date.getTime()/1000;//转换成秒;

我们再将其转换成日期格式的:

var date = new Date( time * 1000 );//.转换成毫秒
var time = date.getFullYear() + "-" + (date.getMonth() < 10 ? '0' + (date.getMonth()+1) : (date.getMonth()+1)) + "-" + (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) ;
输出:

node.js中时间戳和日期之间的转换
可以看到,最后一行把日期时间输出了!

那么如何或得当前时间的时间戳呢?其实也很简单!

Date.now()获取当前时间的时间戳,输出是毫秒。