在 JavaScript 中解析日期字符串的意外结果
Unexpected results parsing date strings in JavaScript
我正在开发一个JavaScript应用程序。我有两个不同的字符串日期31/10/2013
和1/11/2013
,我用new Date(string).getTime();
创建了这两个日期的实例
但它显示这个(同一日期)作为结果:
console.log(date_s + " after new date " + date );
31/10/2013 after new date Fri Nov 1 00:00:00 UTC 2013
1/11/2013 after new date Fri Nov 1 00:00:00 UTC 2013
您new Date(string)
中没有有效的字符串
初始化日期的一些示例
var my_date=new Date(2013,10,31)
以及有关 http://www.w3schools.com/js/js_obj_date.asp 的所有文档
31/10/2013
不是有效的日期字符串,除非您正在进行一些本地化。对于 en-US 的默认本地化设置,应10/31/2013
。您的字符串的意思是"2013 年的第 31 个月",这会new Date('31/10/2013')
推到 2015 年的某个时间,因为这是它解析由于"第 31 个月"而确定的日期的地方。
如果你
想要一个简单的解决方案,试试moment.js
- 一个强大的javascript日期解析器/格式化程序/验证器/操纵器。
现在,您可以使用如下语法解析日期 [doc]:
//this will gives you a correct date object
moment('31/10/2013', 'DD/MM/YYYY').toDate();
否则,您可以随时拆分和重建日期对象。
相关文章:
- 使用 JSON.parse 将字符串(变量)转换为对象,错误意外标记
- “JSON.parse(str)”返回“意外令牌c”,但str是一个字符串
- 意外的令牌:用于Javascript中的JSON字符串
- 未捕获的语法错误:带有 .append() 字符串的意外标识符
- 生成动态 HTML,使用 JavaScript 更改名称值.错误:- 意外的字符串或标识符
- 在 JavaScript 中解析日期字符串的意外结果
- 未捕获的语法错误:jQuery 字符串中意外的标记 ILLEGAL
- 铬 - 意外令牌 非法.火狐和.字符串文字
- 将变量打印到控制台时出现意外字符串:[对象窗口]
- 创建视区会导致未捕获的语法错误:意外的字符串错误
- append() jquery中意外的字符串
- 具有意外令牌的 JSON.parse 字符串
- 未捕获的语法错误:意外的标识符,将字符串存储为索引
- 未终止的字符串文本/无效或意外的令牌
- 尝试将一个元素加载到另一个元素时出现意外字符串
- 在检查字符串是否至少有5位数字时,没有字母或特殊字符会产生意外结果
- 未捕获的语法错误:我的 js 文件中出现意外的字符串
- winjs:当显示页面时,会自动显示意外的字符串
- JSON.parse字符串-意外的令牌
- Javascript字符串意外地变成了对象