0

我有一个时区字符串,例如“太平洋时间(美国和加拿大)”。对于特定日期(包括夏令时),我需要在 UTC 的那个时区获得相当于下午 3 点的时间。我该怎么办?

例如,我需要在 UTC 时间找到 12 月 3 日 PDT 下午 3 点。

4

2 回答 2

2

该时区标识符看起来像是来自 Rails 或来自 Twitter(使用 Rails)。您首先需要将其转换为标准 IANA 区域标识符,例如“America/Los_Angeles”。请参阅ActiveSupport::TimeZone 文档MAPPING中的声明。

然后你可以使用我在这里提到的库之一。

特别是,您可能想尝试moment-timezone。您需要针对此特定功能的最新开发版本,因为它是在问题#25中添加的,当前版本中还没有。然后你可以做这样的事情:

moment.tz("2013-12-03T15:00:00","America/Los_Angeles").utc().format()

您可以将输入/输出格式调整为对您有意义且受moment.js支持的任何格式。

我提到的其他时区库也可能提供类似的功能而没有太多开销,因此值得一看。

于 2013-10-14T23:45:19.313 回答
1

这似乎对我有用,虽然它确实感觉有点脆弱

new Date('2013-12-03 15:00:00 PDT').toUTCString()

    -> "Tue, 03 Dec 2013 22:00:00 GMT"
于 2013-10-14T23:30:43.130 回答