我正在尝试使用 timezone-js 转换时区并根据地区获取正确的时间。我使用以下线程作为参考。 在 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", 'Asia/Singapore');
这给了我2002-07-09 02:59:00
因此,它将第一个参数(日期)作为 UTC 并相应地调整时间。这是正确的行为吗?
然后dt.setTimezone("America/Argentina/Mendoza")
;=> 2002-07-08 15:59:00