JavaScript date()对象返回带有getYear(和其他)的NaN

Ren*_*Pot 4 javascript datetime date

我目前在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();
Run Code Online (Sandbox Code Playgroud)

但是,我的yearvar包含NaN.与getDay()或getMonth()相同.问题是什么?

ps:我从SQLite数据库中获取日期格式.我正在使用Titanium Mobile,因此javascript和SQLite是唯一涉及的内容

T.J*_*der 9

您依赖于Date构造器解析不受支持的格式.直到最近,构造函数还没有支持标准的字符串格式Date.从ECMAScript5开始,有一个(YYYY-MM-DDTHH:MM:SS注意T而不是空格),但它仅在不到两年的时间内被指定,并且在旧版浏览器中自然不起作用.

目前,你最好的办法是自己解析它(你可以在这个问题及其答案中找到代码),或者使用类似DateJS的东西为你解析它(并提供许多其他有用的日期/时间).