gpt4 book ai didi

javascript - 使用 timezone-js 进行 JS 时区转换

转载 作者:行者123 更新时间:2023-11-28 02:08:40 26 4
gpt4 key购买 nike

我正在尝试使用 timezone-js 转换时区并根据区域获取正确的时间。我使用以下线程作为引用。 convert-date-to-another-timezone-in-javascript

但是,当我在构造函数中设置时间并更改时区时,它会显示相同的时间。

我无法获取基于区域的转换时间。我尝试遵循。

var dt = new timezoneJS.Date("2013/07/02 18:59:00 +0000", 'Asia/Singapore'); 
alert('This is time call ' + dt.getTime() + dt.getTimezone());
dt.setTimezone("America/Argentina/Mendoza");
alert('This is new time call ' + dt.getTime() + dt.getTimezone());

两者都显示时间为 1372791540000。我在这里错过了什么吗?

<小时/>

感谢马特的回答。那确实给了我日期。但是,我肯定缺少使用这个库的概念。我的理解是,一旦我向构造函数提供时间和区域,它就会自动调整对象中的 UTC,下次我更改区域时,它将根据区域为我提供正确的时间。

例如- var dt = new timezoneJS.Date("2002/07/08 18:59:00 +0000", '亚洲/新加坡');这给了我2002-07-09 02:59:00因此,它将第一个参数(日期)作为 UTC 并相应地调整时间。这是正确的行为吗?

然后dt.setTimezone("美国/阿根廷/门多萨");=>2002-07-08 15:59:00

最佳答案

getTime() 将始终返回自 1970 年 1 月 1 日 UTC 以来的毫秒数。将时间表示为单个整数时不存在时区。

documentation ,您会发现以下示例作为证明:

var dtA = new timezoneJS.Date(2007, 9, 31, 10, 30, 'America/Los_Angeles');
var dtB = new timezoneJS.Date(2007, 9, 31, 12, 30, 'America/Chicago');
// Same timestamp
dtA.getTime(); => 1193855400000
dtB.getTime(); => 1193855400000

对于特定于时区的输出,请尝试使用 .toString()

关于javascript - 使用 timezone-js 进行 JS 时区转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17425324/

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