【问题标题】:Difference between JavaScript and Postgres Epoch [duplicate]JavaScript 和 Postgres Epoch 之间的区别 [重复]
【发布时间】:2018-09-20 22:53:43
【问题描述】:

我原以为这两个语句会返回相同的值:

Javascript (Chrome)

new Date(2018, 3, 1).getTime() /1000;
=> 1522533600

Postgres

SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2018-03-01 00:00:00 ');
=> 1519858800.0

如您所见,存在巨大差异。我在这里错过了什么?

时区信息

两个查询都在同一时区执行,如下所示。

Postgres

SELECT EXTRACT(TIMEZONE FROM now())/3600.0;
=> 2.0

Javascript

new Date().getTimezoneOffset();
-120

解决方案

谢谢@yelliver 和@Vao Tsun,问题是 Javascript 以零开头。确认:

new Date(2018, 2, 1).getTime() /1000;
=> 1519858800

【问题讨论】:

  • 反对票是怎么回事?
  • 阅读文档会有所帮助:developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…(注意month 参数)。
  • @ardochhigh 请调整您的帖子以进行三月反对 JS 通话
  • @ardochhigh 我不得不承认,最近有关 javascript 的帖子遭受了很多负面能量。
  • @ardochhigh 但根据您粘贴的代码,仍然相差一小时 - 您是说它们匹配吗?..

标签: javascript postgresql datetime


【解决方案1】:
new Date(2018, 3, 1)  = Sun Apr 01 2018

现在是四月,不是三月

【讨论】:

    猜你喜欢
    • 2015-09-03
    • 1970-01-01
    • 2010-10-06
    • 2017-04-11
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    相关资源
    最近更新 更多