【发布时间】:2020-01-16 06:36:07
【问题描述】:
我的数据库使用now()::TEXT 函数创建了一堆timestamptz 值。在几个 API 调用中,我收到了这些值,但我很难将它们转换为 Javascript Date 对象。
这是 Postgres 返回的 Timestamptz 字符串示例:2019-09-12 09:52:52.992823+00
问题是,如果我尝试执行new Date("2019-09-12 09:52:52.992823+00"),那么浏览器中就会出现一些挑剔的行为。看来我必须先在字符串中附加一个“Z”才能正确获取时间(因为时区?)
此外,Firefox 似乎根本不解析它(但 Chrome 可以)。如果我删除“+00”,它似乎工作。
所以我想出了这个似乎适用于两种浏览器的“解决方案”,但在使用它们之前我必须在所有日期调用它,而且它似乎有点脆弱。这是正确的方法吗?
function fixDate(date) {
return date.replace("+00", "") + "Z";
}
【问题讨论】:
标签: javascript string postgresql date timezone