gpt4 book ai didi

javascript - 2016 年 8 月 24 日 12 :44 AM Not valid in Safari on Mac

转载 作者:行者123 更新时间:2023-12-03 06:43:27 26 4
gpt4 key购买 nike

我已经做了很多工作来确保我的日期选择器创建的日期能够兼容转换为 JavaScript 日期对象。我遵循了有关此堆栈溢出条目的建议:Invalid date in safari并使用以下方法从字符串中删除破折号:new Date('2016 年 8 月 24 日 12:44 AM'.replace(/-/g, "/"));这使得它与除 Mac 上的浏览​​器之外的所有其他操作系统和浏览器兼容。 Safari 似乎仍然不喜欢字符串中的完整月份名称。如果我被迫使用该格式,建议使用什么方法让 safari 将字符串识别为日期?

最佳答案

阅读有关 Date() 的文档:

new Date(dateString)

String value representing a date. The string should be in a format recognized by the Date.parse() method (IETF-compliant RFC 2822 timestamps and also a version of ISO8601).

另请注意以下几点,这意味着您在执行此操作时必须格外小心。

Note: parsing of date strings with the Date constructor (and Date.parse, they are equivalent) is strongly discouraged due to browser differences and inconsistencies.

请参阅 Date.parse 的文档其中明确指出接受哪些日期格式:

A string representing an RFC2822 or ISO 8601 date (other formats may be used, but results may be unexpected).

您尝试解析的格式均不受支持,并且您必须期望不同浏览器中的不同行为。

就我个人而言,我总是使用 ISO 8601 格式的日期(例如 2016-06-16T06:15:24.040Z)。使用这样的标准还支持添加时区,这在多时区应用程序中至关重要。

哦,顺便说一句:将本地化日期字符串添加到 JavaScript 方法通常是一个坏主意。用户的浏览器可能使用英语以外的其他语言,除了奇怪的日期格式之外,还可能导致进一步的问题。

关于javascript - 2016 年 8 月 24 日 12 :44 AM Not valid in Safari on Mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37851143/

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