新日期()位于错误的时区



在这篇文章发表这篇文章时,我当前的时间是2017-01-10T19:23:00.000Z ,但new Date()给了我2017-01-11T00:23:19.521Z比我当前的时区早 5 小时。这会影响我的数据存储在MongoDB中的方式。我知道我可以使用

var datetime    = new Date();
 datetime.setHours(datetime.getHours()-5); 

但我更喜欢更好的方法来做到这一点。我试过用这个。我仍然有相同的时间。在我的代码的其他部分,我得到Tue Jan 10 2017 19:54:30 GMT-0500 (EST)与最初时间不同。如果有人能指出这里出了什么问题,我会很高兴。

使用时刻.js是完成您所问的最简单方法。

moment().format() // "2017-01-11T13:56:15-05:00"

输出是 ISO-8601 格式的字符串,时区偏移量在本地时区中有效。

您可以使用大量代码自己执行此操作,这些代码读取Date对象的各种属性,并从这些值生成字符串。 但它不是以这种方式内置到Date对象中。

另外,请注意,每当您尝试按时区偏移量调整Date对象时,您只是在选择不同的时间点。 您实际上并没有更改 Date 对象正在使用的时区的行为。

如果您不想使用任何外部 JS 文件,您只需使用以下代码即可获取当前时区。

new Date().toString();

相关内容

  • 没有找到相关文章

最新更新