【发布时间】: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