我目前在用 JavaScript 转换字符串 dateTime 对象时遇到一些问题
我假设这是因为我的字符串无法在 new Date()
中正确使用,但我不确定这是问题所在。
我的输入:“2011-09-29 14:58:12”
我的代码:
var date = "2011-09-29 14:58:12";
var added = new Date(date);
var year = added.getYear();
但是,我的 year
变量包含 NaN。与 getDay() 或 getMonth() 相同。有什么问题?
ps:我从 SQLite 数据库中获取日期格式。我使用的是 Titanium Mobile,所以只涉及 javascript 和 SQLite
最佳答案
你依赖于 Date
constructor解析不支持的格式。直到最近,Date
构造函数才支持 标准字符串格式。从 ECMAScript5 开始,有一个(YYYY-MM-DDTHH:MM:SS
,注意 T
而不是空格),但它只被指定了不到两年并且自然不适用于旧浏览器。
目前,你最好的办法是自己解析它(你可以在 this question and its answers 中找到代码),或者使用类似 DateJS 的东西, MomentJS , date-fns
等为您解析它。
关于JavaScript date() 对象通过 getYear(和其他)返回 NaN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7610886/