gpt4 book ai didi

javascript - Date 类型的规范化 javascript 实现?

转载 作者:行者123 更新时间:2023-11-29 20:05:21 25 4
gpt4 key购买 nike

new Date("2") 是:

  • Chrome 上的“2001 年 2 月 1 日星期四 00:00:00 GMT-0500(东部标准时间)”
  • Firefox 和 IE 9 上的“无效日期”
  • node.js 上的“2001 年 2 月 1 日星期四 05:00:00 GMT”

由于 node.js 使用谷歌 V8 javascript 引擎,而 Chrome 也来自谷歌,我想这是一个 googlish 调整。

这很糟糕。是否有一种简单的方法来规范 Date 类型在不同平台上的行为?

谢谢。

编辑

当然,“2”不适合约会。但是如果使用 jQuery 验证器插件的“date”方法,那么“2”是一个完全有效的输入,因为这种特殊的验证方法将其逻辑推迟到 Date javascript 类型来进行实际验证.如果 Date 类型的实现是明智的,那么这就很有意义了。在 Chrome(和 node.js)中显然不是这种情况。

最佳答案

没有。 ECMAScript 规范声明单参数 Date 构造函数(其中该参数是一个字符串)将遵从“依赖于实现”的 Date.parse。来源:ECMAScript specification .

因此,如果您希望跨实现具有相同的行为,请避免使用此构造函数。

如果对于您的应用程序,字符串 "2" 的公认含义是日期,那么您应该实现自己的逻辑来解释它。对此没有“标准”含义。如果您有更广为人知的东西作为您的字符串,您会发现不同的实现表现得更相似。但在您的情况下,建议您自己解析字符串,并明确地将 2 的含义提供给 Date 的更明确的构造函数。

关于javascript - Date 类型的规范化 javascript 实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12252260/

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