gpt4 book ai didi

javascript - 带时区的时刻 toDate 没有给出正确的时间

转载 作者:行者123 更新时间:2023-11-30 13:56:29 25 4
gpt4 key购买 nike

我以某种方式尝试获取美国/纽约的时区(我的本地时间距美国东部标准时间 -1 小时)。但是当我使用时我总是得到相同的时间

moment(new Date()).tz("America\New_York").toDate()

是我使用了错误的方法还是发生了什么?有人可以帮帮我吗?

这是 jsFiddle 的链接: https://jsfiddle.net/Lgr3qdjf/

最佳答案

根据 this issue , moment toDate 总是返回系统时区的日期,因为 javascript Date 对象总是在本地时区。

您可以使用 formattoString 来获取所需时区的日期:

var estTime = moment(new Date()).tz("America/New_York").format();

这里有一个可运行的片段来充分展示:

moment.tz.add([
'America/New_York|EST EDT|50 40|0101|1Lz50 1zb0 Op0'
]);

var estTime = moment(new Date()).tz("America/New_York").format();
console.log('StackOverflow Time:', new Date);
console.log('Eastern Time:', estTime)
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.23/moment-timezone.js"></script>

关于javascript - 带时区的时刻 toDate 没有给出正确的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57191955/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com