意外的JavaScript日期结果

时间:2015-12-30 00:41:34

标签: javascript postgresql date

我有以下代码来格式化日期:

var currentDate = dateFormat(now, "yyyy-mm-dd"); //dateFormat is a npm package
console.log(currentDate) //returns 2015-12-29

我的currentDate值保存到PostgreSQL数据库。但是,当我查看它时,它是2015-12-29T05:00:00.000Z。有谁知道为什么还有其他字符串以及如何摆脱它?

2 个答案:

答案 0 :(得分:1)

这是因为Postgres表中的列的类型为timestamp(带或不带时区)。 如果您可以将其更改为date,您将看到预期的格式。 但是,您始终可以将值强制转换为date

select '2015-12-29T05:00:00.000Z'::timestamp;
      timestamp      
---------------------
 2015-12-29 05:00:00
(1 row)

select '2015-12-29T05:00:00.000Z'::date;
    date    
------------
 2015-12-29
(1 row)

答案 1 :(得分:0)

来自维基百科,

  

如果时间是UTC,请在没有时间的情况下直接添加Z.   空间。 Z是零UTC偏移的区域指示符。 " 09:30 UTC"   因此表示为" 09:30Z"或" 0930Z"。 " 14:45:15 UTC"将   be" 14:45:15Z"或" 144515Z"。

链接:ISO 8601