【发布时间】:2014-04-03 03:00:19
【问题描述】:
我正在从 Facebook 的 API 查询活动开始时间。大多数情况下,它们返回如下字符串:
2014-04-02T20:00:00-0600
但有时,它的返回如下:
2014-04-19
当我尝试创建一个新的日期对象时,它不适用于时区标识符。
但是,这两种方法都有效:
var d = new Date('2014-04-02T20:00:00')
或
var d = new Date('2014-04-19')
但我需要这个来工作:
var d = new Date('2014-04-02T20:00:00-0600')
// returns Invalid Date
我正在尝试避免解析每个 start_time 字符串以查看是否需要删除时区标识符,因为我正在处理数百个事件。
有没有更简单的方法来做我正在尝试的事情,还是我真的需要删除每个日期的时区标识符?
【问题讨论】:
-
您需要“手动”解析字符串。这并不难,您只需编写一次代码。但你确实需要明确地说出你想做什么。您想将
2014-04-02T20:00:00-0600转换为用户的本地时间,还是以特定时区(例如 UTC)显示它? -
你试过使用 timestamptz 类吗?
-
@jp310 是的,这是一些有用的信息。我试图避免使用 moment.js 库。但我会考虑的。
-
@RobG 是的,我知道这并不难。如果我想对偏移量做任何事情,这是一个很好的见解。
标签: javascript facebook iso