gpt4 book ai didi

JavaScript Date 对象无法处理传递给它的字符串

转载 作者:行者123 更新时间:2023-11-28 21:03:39 25 4
gpt4 key购买 nike

我正在尝试使用从数据库获取的变量创建日期对象。该字符串已经采用正确的格式,已经以逗号分隔“yyyy,mm,dd,hh,mm,ss”。但是,尝试创建 Date 对象会返回 Invalid Date 错误。

var foo ='2012,03,09,12,00,00,00';
document.write(foo); //<-- obviously writes the string 2012,03,09,12,00,00,00 to the browser
var then=(new Date(foo));
document.write(then); //<-- returns Invalid Date

我有一个解决方案如下:

var x = foo.split(/[,]/);
var then = new Date(x[0], x[1], x[2], x[3], x[4], x[5]);

想知道为什么需要这样做,因为本质上它是重新创建传递给它的相同字符串。

最佳答案

这是因为您尝试转换为 Date 对象的字符串无效。 Date 对象不仅仅接受任何格式的字符串。如果不被识别,它将无法工作。

参见日期文档 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

这是有关支持的格式的信息

https://www.rfc-editor.org/rfc/rfc2822#page-14

关于JavaScript Date 对象无法处理传递给它的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10401028/

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