Javascript 如何在将UTC转换为时区的同时考虑日光节约

Javascript 如何在将UTC转换为时区的同时考虑日光节约,javascript,momentjs,utc,moment-timezone,Javascript,Momentjs,Utc,Moment Timezone,为什么现在不考虑夏令时呢 const date_string = '2021-02-23T23:24:21Z'; const date_string1 = '2021-05-01T23:24:21Z'; console.log(moment.utc(date_string).tz("America/New_York").format('MM/DD/YYYY hh:mm:ss A')) console.log(moment.utc(date_string1).tz("

为什么现在不考虑夏令时呢

const date_string = '2021-02-23T23:24:21Z';
const date_string1 = '2021-05-01T23:24:21Z';
console.log(moment.utc(date_string).tz("America/New_York").format('MM/DD/YYYY hh:mm:ss A'))
console.log(moment.utc(date_string1).tz("America/New_York").format('MM/DD/YYYY hh:mm:ss A'))
日志值:

Simuljs缺省不考虑夏令时,是否需要计算并添加ADO.

< P>将日期字符串和时区同时传递到<代码>时刻?TZ < /C> >构造函数,因为DST知道:

moment.tz(日期字符串,“美国/纽约”).format('MM/DD/YYYY hh:MM:ss A')

:

下面是一个工作示例:


这将为两个日志提供相同的结果6:24:21。我无法复制您在中使用此确切代码描述的行为。日志分别为
“02/23/2021 06:24:21 PM”
“05/01/2021 07:24:21 PM”
。感谢@esqew,您共享的小提琴成功了。看起来,我在编辑器上使用的地方出错了。现在很好。谢谢。这似乎是因为包含了
moment-timezone-with-data-2010-2020.min.js
而不是(表面上更宽泛的)
moment-timezone-with-data.min.js
可能是原因,但我对该库还不太熟悉,不能肯定地说。当然是无关紧要的,但我建议完全消除对
momentjs
的这种依赖(除其他原因外,它处于“仅维护模式”,将来可能会被弃用),而是选择使用更现代的内置
Date
API,它应该比你在这里演示的更能执行任务。是的,我刚刚被替换了那个时刻库,现在它可以工作了。(我一直在使用错误的js库)。谢谢@esqew
//"02/23/2021 06:24:21 PM"

//"05/01/2021 06:24:21 PM"