Generating a date in a particular timezone
本问题已经有最佳答案,请猛点这里访问。
我有一个时区字符串,例如"太平洋时间(美国和加拿大)"。 对于特定日期,我需要在UTC的时区中获得相当于下午3点的时间,包括夏令时。 我怎么能这样做?
例如,我需要在12月3日下午3点,PDT在UTC时间找到。
该时区标识符看起来像是来自Rails,或来自Twitter(使用Rails)。 您首先需要将其转换为标准的IANA区域标识符,例如"America / Los_Angeles"。 请参阅ActiveSupport :: TimeZone文档中的
然后你可以使用我在这里提到的一个库。
特别是,你可能想尝试一下时刻。 您将需要针对此特定功能的最新开发版本,因为它已在问题#25中添加,但尚未在当前版本中添加。 然后你可以做这样的事情:
1 | moment.tz("2013-12-03T15:00:00","America/Los_Angeles").utc().format() |
您可以将输入/输出格式调整为适合您的任何格式,并由moment.js支持。
我提到的其他时区库也可能提供类似的功能而没有太多的开销,因此值得一看。
这似乎对我有用,虽然它确实感觉有点脆弱
1 2 3 | new Date('2013-12-03 15:00:00 PDT').toUTCString() ->"Tue, 03 Dec 2013 22:00:00 GMT" |