gpt4 book ai didi

javascript - 无效的字符串被转换为日期

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

您好,我有一个字符串“Windows-10”,当我尝试通过新的 Date() 构造函数进行解析时,它被解析并给出了一个完全有效的日期,如“Mon Oct 01 2001 00:00:00 GMT+0530 (印度标准时间)'

我不知道为什么会这样,我也尝试过使用其他 Windows 字符串,例如“Windows-7”、“Windows-99”等,它们都很容易解析。

最佳答案

您看到的行为是特定于实现的,对于单参数 Date(value) 构造函数,ECMA-262 涵盖了该行为规范在章节 20.3.2.2 .您的示例将执行步骤 3.b.ii.1。其中声明将根据第 20.3.3.2 章中规定的规则解析字符串对于 Date.parse(string) 方法。该方法规范定义了:

The function first attempts to parse the format of the String according to the rules (including extended years) called out in Date Time String Format (20.3.1.16). If the String does not conform to that format the function may fall back to any implementation-specific heuristics or implementation-specific date formats. Unrecognizable Strings or dates containing illegal element values in the format String shall cause Date.parse to return NaN.

因为您的字符串显然不符合日期时间字符串格式,所以浏览器回退到其特定于实现的算法。例如,我的 Chrome 70 返回当前时间的 Date 对象,这对应于调用无参数 Date() 构造函数。另一方面,IE11 将字符串解析为 NaN 并返回一个具有“无效日期” 值的 Date 对象。

关于javascript - 无效的字符串被转换为日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53117218/

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