在DateTimeFormat()中转换时区的Firefox问题;

问题描述 投票:0回答:1

我在使用Firefox转换时区时遇到问题,除Firefox显示以下内容外,所有其他浏览器均按预期工作:

RangeError:DateTimeFormat()中的时区无效:AMERICA / CHICAGO

这是我的函数,它将时间从任何时区(在这种情况下为芝加哥)转换为东部/纽约(服务器时区),这将返回小时:分钟。

dateWithTimeZone = (timeZone1, year, month, day, hour, minute, second) => {
   var date = new Date(Date.UTC(year, month, day, hour, minute, second));
   var utcDate = new Date(date.toLocaleString("en-US", { timeZone: "UTC" }));
   var tzDate = new Date(date.toLocaleString("en-US", { timeZone: timeZone1 }));
   var offset = utcDate.getTime() - tzDate.getTime();
   date.setTime( date.getTime() + offset );
   var time1 = "00:00";
   time1 = date.toLocaleString().split(', ')[1];      
return time1;
};  
//dateWithTimeZone("America/Chicago",2020,4,21,09,30,0)) );

此返回10:30:00 AM

请帮助!

javascript datetime-format timezone-offset
1个回答
0
投票

我使用矩时区找到了答案。

© www.soinside.com 2019 - 2024. All rights reserved.