gpt4 book ai didi

Mac (Safari) 上的 Javascript toLocaleTimeString() 奇怪之处

转载 作者:数据小太阳 更新时间:2023-10-29 05:27:27 28 4
gpt4 key购买 nike

我们有一个计算持续时间的简单函数,它在除 Mac 上的 Safari 之外的所有浏览器中都能正常工作(在 mac 上的 chrome 中工作,在 PC 上的 Safari 中工作)

例如,

new Date().toLocaleTimeString() 

我们希望它给出这样的时间格式:

11:59:25

但是,在 Mac Safari 上我们得到了这个

11:59:25 GMT+01:00

我们对这些时间所做的任何计算都超出了一个小时(将小时添加到计算中)

例如11:59:25 - 11:59:25 = 01:00:00(应该是 00:00:00)

有什么想法吗?

为什么要在字符串中添加时区?这给我们的数据库带来了一点问题

为什么它会增加一个小时的刺痛时间?

为什么只在那个该死的浏览器中!

感谢您的宝贵时间。

最佳答案

toLocaleTimeString 方法依赖于底层操作系统来格式化日期。它使用运行脚本的操作系统的格式化约定将日期转换为字符串。例如,在美国,月份出现在日期 (04/15/98) 之前,而在德国,日期出现在月份 (15.04.98) 之前。

getHours、getMinutes 和 getSeconds 等方法给出的结果比 toLocaleTimeString 更一致。当意图向用户显示使用用户选择的区域格式格式化的字符串时,请使用 toLocaleTimeString。 请注意,由于其性质,此方法的行为会因操作系统和用户设置而异。

来源:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/toLocaleTimeString

关于Mac (Safari) 上的 Javascript toLocaleTimeString() 奇怪之处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5471508/

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