JavaScript date() 对象通过 getYear(和其他)返回 NaN

标签 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();

但是,我的 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/

相关文章:

javascript - 搜索选择器时出现意外的文件结尾。由于选择器错误而忽略规则集

android - 同一 Activity 中的多个 DatePickers

javascript - 日期构造函数

C# - 在 LINQ 上比较没有时间的日期时间?

mysql - 比较两年内的日期

javascript - 用jQuery中的新行替换结果集中的逗号

javascript - 检索存储在存储在 JSON 中的数组中的字符串值仅返回字符串的第一个字符

php - 建立一个大表格,需要建议

c# - 获取上次写入时间返回一个奇怪的值

python - 你能在不知道格式的情况下使用 datetime.strptime 吗?