【发布时间】:2021-10-21 17:41:21
【问题描述】:
我有字符串格式的时间,即 CDT 或 CST 中的本地时间(取决于夏令时是否正在进行)。 前-
2021-08-19 15:55:40
所以它只是字符串数据,没有 tz 的指示,我想将这个本地时间转换为 UTC。 最好的方法是什么? 是否已经存在可以自动识别和转换的 npm 包?
我目前正在尝试使用的代码: 作为第一步,我尝试将 DateTime 转换为 ISO,它可以轻松转换为 UTC
const { DateTime } = require("luxon");
var overrideZone = DateTime.fromSQL("2021-05-15 23:10:23", { zone: "America/Mexico_City" });
console.log(overrideZone.toISO()) //=> '2021-05-16T11:10:23.000-05:00'
它给我的日期是 5 月 16 日,但显然我的意思是 5 月 15 日 23:10(晚上 11:10)而不是 16 日。
我不知道我的代码有什么问题
【问题讨论】:
-
你试过
momentjs吗? MomentJs -
查看this答案
-
我正在尝试使用 Luxon(时刻的继任者),但得到了意想不到的结果,第一步我试图将日期时间转换为 ISO 字符串(使用正确的 tz),这样我就可以获得 UTS轻松:
const { DateTime } = require("luxon"); var overrideZone = DateTime.fromSQL("2021-05-15 23:10:23", { zone: "America/Mexico_City" }); console.log(overrideZone.toISO()) //=> '2021-05-16T11:10:23.000-05:00'这里我的日期是 16 号,但我的日期是 15 号,我不知道怎么了 -
您可以将代码添加到问题中吗?
-
@AminTaghikhani 添加了
标签: javascript node.js time dst