Javascript Safari正在解析ISO 8601日期时间字符串,但不将时区作为UTC而不是本地

Javascript Safari正在解析ISO 8601日期时间字符串,但不将时区作为UTC而不是本地,javascript,safari,Javascript,Safari,根据日期,没有时区的时间字符串应解释为本地时间 如果没有时区偏移,则仅日期表单将解释为UTC时间,日期时间表单将解释为本地时间 我们的API返回不同时区的时间戳,但我们始终希望在这些不同的时区显示它们(这些是航班时间,并且始终显示为机场的本地时间) 在大多数浏览器中,我可以将此字符串传递给Date对象,并将其解释为用户的本地时区,但我不在乎它是否是错误的时区,因为我们不跨时区比较日期。当我使用Intl.DateTimeFormat.format将其显示为字符串时,它的显示时间与字符串指定我想要的

根据日期,没有时区的时间字符串应解释为本地时间

如果没有时区偏移,则仅日期表单将解释为UTC时间,日期时间表单将解释为本地时间

我们的API返回不同时区的时间戳,但我们始终希望在这些不同的时区显示它们(这些是航班时间,并且始终显示为机场的本地时间)

在大多数浏览器中,我可以将此字符串传递给Date对象,并将其解释为用户的本地时区,但我不在乎它是否是错误的时区,因为我们不跨时区比较日期。当我使用
Intl.DateTimeFormat.format
将其显示为字符串时,它的显示时间与字符串指定我想要的时间相同

在Safari中,这些时间字符串被解释为UTC,然后字符串格式将其转换为本地时间

新日期(“2020-05-06T13:25:00”).getTime()==新日期(“2020-05-06T13:25:00Z”).getTime()
这在Safari中返回true,但在其他地方返回false。(如果您的本地时区是UTC,它也将返回true,但我们不考虑这种情况)

这是在设置为CDT的计算机上运行的Safari。它以13:25为UTC,然后以-5小时显示

这是Chrome(在Windows上-不确定这是否相关,我没有访问Mac的权限)。但是它使用与本地时间相同的时间戳,然后显示为相同的时间。这就是我想要的

无论如何,我们可以解决这个问题,这样我就可以返回一个时间戳,然后将其解析为本地时间,以便正确显示