如何解析以时区缩写结尾的时间字符串(例如'PDT'01:51:16 PM')?

时间:2019-05-26 22:45:17

标签: javascript datetime momentjs moment-timezone

我正在使用Javascript(Nodejs)与REST API进行交互,该Javascript以时区作为3字母缩写(例如PDT)的非标准格式返回时间。我想将其解析为具有偏移量的时间(例如-0800)。

我已经使用过moment-timezone库,但是在没有“手动”将时区缩写替换为偏移量或IANA国家/地区标识符的情况下,它似乎无法直接使用时区缩写。 (例如“ America / Los_Angeles”)。

例如,

let the_time = moment('05/26/2019 01:51:16 PM PDT', 'MM/DD/YYYY hh:mm:ss a z')
assert(the_time.zoneAbbr() === 'PDT') # false

如何在不手动检测以自定义缩写列表结尾并将其指定给解析器的字符串的情况下解析时区缩写?我以为我可以使用moment-timezone来做到这一点。

修改 显然,所有缩写都与时区信息一起存储在每个zone对象中。这就是为什么我对为什么没有明显的格式字符串可以解析时区缩写感到困惑的原因。

0 个答案:

没有答案