【发布时间】:2021-08-16 02:20:31
【问题描述】:
我的 NodeJS 服务器上有以下字符串,它使用 UTC 时间。
const year = '2021';
const month = '05';
const day = '28';
const hour = '17';
const minute = '40';
const second = '00';
如果我现在创建一个像 new Date(year, month, day, hour, minute, second) 这样的 Date 对象,它显然会为 UTC 创建 Date 对象。但是,我正在解析的字符串是以 CET 而非 UTC 记录的。
如何将信息(如上所示)解析为设置为 UTC 的服务器上给定时区的日期?我还需要尊重各个时区的夏季和冬季。
之后,我实际上需要将该 Date 对象转换为 UTC,因为我需要它作为 UTC 时间戳将其发送到外部系统。
我很难理解它。谢谢!
【问题讨论】:
-
如果有时区,时刻是否真的尊重夏季和冬季?
-
“显然为 UTC 创建了 Date 对象”。不,它没有。它根据主机系统偏移量和规则生成一个日期,它表示为 1970-01-01T00:00:00 UTC 的偏移量。
-
@ArvindKumarAvinash — moment project 处于维护模式,基本上已被弃用。 Recommended alternatives are here。 Luxon 和 date-fns 都会做 OP 想做的事情(也许还有其他人)。
标签: javascript node.js datetime timestamp timezone