nodejs和javascript中获取当天0点时间及各种时间格式转换的方法

nodejs时间转换

2022-04-06T03:05:00.891Z

最近在使用graphql中遇见了一些关于时间格式的问题,我使用的graphql中是将时间转换成ISOSTRING格式,也就是2019-11-17T16:00:00.000Z 这个样子。我们来看看如何获取当天0点时间和转换各种格式。

获取当天0点时间:

new Date(new Date().toLocaleDateString())
格式为string,显示为:Mon Nov 18 2019 00:00:00 GMT+0800 (中國標準時間)

获取时间戳:

new Date(new Date().toLocaleDateString()).getTime()
格式为number,显示为:1574006400000

获取当前时间戳:

Date.now()
new Date().getTime()
格式为number,显示为1574063341624

解析时间字符串:

var string = "2019-11-20T10:35:26.504Z";
var nowstring = "Mon Nov 18 2019 15:50:35 GMT+0800";
Date.parse(nowstring);
Date.parse(string);
格式为number,显示为1574246126504/1574063435000

转换为ISO格式:

var isostring = new Date(new Date().toLocaleDateString()).toISOString()
格式为string,显示为2019-11-17T16:00:00.000Z,注意这个ISO标准格式显示是没有时区信息的,也就是中国本地的话是少了8个小时。