gpt4 book ai didi

破折号分隔并以年份开头时的 Javascript Date.parse 错误

转载 作者:数据小太阳 更新时间:2023-10-29 04:24:09 26 4
gpt4 key购买 nike

我正在寻求确认这是否是真正的文档和/或 Javascript 的 Date.parse 方法的实现错误。

我指的文档位于 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/parse他们会说“如果您不指定时区,则假定为本地时区。”

但下面的代码表明,尽管没有指定时区,但如果传递给 Date.parse 的字符串开始以 4 位数字表示年份,并以破折号分隔。

var euroStyleDate = '2011-10-04';
var amerStyleDate = '10/04/2011';
var euroStyleParsed = Date.parse(euroStyleDate);
var amerStyleParsed = Date.parse(amerStyleDate);

console.log(euroStyleParsed); //1317686400000
console.log(amerStyleParsed); //1317700800000

console.log(new Date(euroStyleParsed));
//Date {Mon Oct 03 2011 20:00:00 GMT-0400 (Eastern Daylight Time)}
console.log(new Date(amerStyleParsed));
//Date {Tue Oct 04 2011 00:00:00 GMT-0400 (Eastern Daylight Time)}

甚至可能还有其他情况,如果我不正确,我敢肯定我不是第一个发现这一点的人。因此,除了确认之外,如果有人知道相关链接,我肯定很乐意指出有关这方面的更深入的信息。

我在 FF3、Windows 版 Chrome 中遇到过这种情况,当然只是为了特殊 IE8 似乎甚至无法在 2011-10-04 上执行转换:我只是得到一个空字符串我的申请

提前感谢您提供任何进一步的见解或资源。

最佳答案

我也遇到过这个概念。对于像我一样使用谷歌搜索“Javascript 日期划线斜线”的任何人来说,这是我能想到的关于这里发生的事情的最清晰的演示。

简而言之,斜杠表示本地时区,破折号表示 UTC。其他答案有关于原因的解释。

<script type="text/javascript">

var
testB = new Date("2012/02/09"),
testC = new Date("2012-02-09");


alert(testB.toString());
alert(testC.toString());
alert(testC.toUTCString());
</script>

关于破折号分隔并以年份开头时的 Javascript Date.parse 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7664518/

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