JavaScript toLocaleString在Microsoft Edge上返回非洲/开罗时区的错误值

yyhrrdl8  于 2023-05-16  发布在  Java
关注(0)|答案(1)|浏览(154)

埃及重新引入DST已经一个多星期了,但是下面的JS语句仍然在Edge上返回不正确的值。(Chrome从来没有这个问题。

new Date(new Date().toLocaleString("en-US", { timeZone: 'Africa/Cairo' }))

这是否可以通过Windows中的设置来修复?
Screenshot of console runs on Edge vs Chrome

brgchamk

brgchamk1#

这是Microsoft Edge中的一个已知问题,即在开罗时区的Edge中无法识别“东欧夏令时”。这需要进一步调查。
当前的解决方法是将您的Windows时区更改为“(UTC + 02:00)贝鲁特”(或其他UTC + 02:00地区),因为Edge会正确应用东欧夏令时。对于toLocaleString,您需要将'Africa/Cairo'更改为'Asia/贝鲁特'(或其他UTC + 02:00地区)。

更新

Microsoft已在Microsoft Edge Stable版本113.0.1774.45(尚未发布)中解决了此问题。在Microsoft Edge Canary(115.0.1846.0,已发布)上,此问题已解决。

相关问题