【发布时间】:2021-09-24 07:03:03
【问题描述】:
我正在尝试将日期时间字符串转换为 JS 日期 obj。
我的输入是
2021-09-16 19:15:52.930。
问题是这个字符串没有时区,在转换为 JS 日期 obj 时,我需要在 cdt/cst(取决于夏令时)时区中标记它们。
我尝试做的方式是:
let dt = new Date('2021-09-16 19:15:52.930 Timezone')
我可以通过 CDT 或 CST 代替时区来解析它。
但在这种情况下,我的逻辑需要知道当前正在遵循哪个时区,具体取决于一年中的时间。
我想要一种方法,以便它可以由 JS 自动处理,比如通过 CT? 2021-09-16 19:15:52.930 CT 但这似乎不受 Date() 的支持。
【问题讨论】:
-
因此,如果您的日期字符串没有时区,您假设时区是什么?世界标准时间?只要您没有带日期的时区,这个日期在世界不同地方就会有所不同。这是你想要达到的目标吗?
-
@ClausBönnhoff 日期字符串来自 America/Mexico_City 并且位于 CDT/CST 时区。我的最终目标是将此字符串(附加时区信息)转换为 JS 日期 obj,然后从此 JS 对象获取 UTC 时间
-
似乎您想添加一个位置参数来解析时间戳,例如
let date = new Date('2021-09-16T19:15:52.930', 'America/Mexico_City'),以便使用应用于该日期和时间的位置的任何偏移量来解析时间戳。建议的 Temporal object 可以实现这一点,但现在需要一个库或让您编写自己的函数 (not a trivial task)。 -
@RobG 感谢您的帮助,使用 luxon 库解决了这个问题。
标签: javascript date datetime