weird Date()解析错误
weird Date() parsing error
所以我有以下字符串"2013-12-10 23:33:05"
当我在jsfield中执行var d = new Date("2013-12-10 23:33:05");
时。http://jsfiddle.net/38TuV/1/
d包含正确的对象,没有问题。
但是在我的网站中当我做
时var date = '2013-12-10 23:33:05';
var d = new Date(date);
d是无效数据。更奇怪的是,如果你看小提琴,我也做了相同的副本作为第二个例子,它似乎工作
这很奇怪,这可能是我的页面特有的东西,但我正在登录data
,它打印'2013-12-10 23:33:05',所以我不知道…什么好主意吗?
如果您确定日期的格式为'YYYY-MM-DD HH:MM:SS',请在firefox浏览器上试试
var date = '2013-12-10 23:33:05'.replace(' ', 'T');
var d = new Date(date);
ES5之前,按date解析日期字符串。parse(与使用Date构造函数的解析相同)完全依赖于实现。ES5为兼容实现引入了ISO 8601版本,但并非所有使用的浏览器都兼容。
因此,解析字符串日期和时间值的最佳方法是自己解析它。与ES5版本的日期。解析时,没有时区的ISO 8601格式字符串将被视为UTC,因此:function parseUTCDateTime(s) {
s = s.split(/'D+/g);
return new Date(Date.UTC(s[0], --s[1], s[2], s[3], s[4], s[5], 0));
}
parseUTCDateTime('2013-12-10 23:33:05'); // Wed 11 Dec 07:33:05 UTC+0800 2013
您在JSFiddle外部资源中定义了dateclass.js
。
我删除了它,它工作得很好。http://jsfiddle.net/38TuV/2/
我不知道你为什么有它,也许是一个垫片。不管怎样,在控制台中没有它也可以正常工作。
使用Chromium控制台(control-shift-J),它工作良好:
var date = '2013-12-10 23:33:05';
var d = new Date(date);
undefined // chromium console is printing the return value of the assignment, undef is OK
date
"2013-12-10 23:33:05"
d
Tue Dec 10 2013 23:33:05 GMT-0500 (EST)
相关文章:
- Javascript返回错误的Date值(NodeJS)
- Date.js错误地分析了ISO 8601 UTC日期
- new Date返回NaN或从服务器日期()开始的错误时间
- 在 Javascript 中执行新的 Date.toString() 时出现错误字符
- AngularJS $filter(date) 返回错误的格式
- Javascript new Date() 返回错误的日期
- Javascript Date() 有时会返回错误的值
- JS Date() 返回正确的时区,但返回错误的日期
- jQuery date 函数在 IE 中返回错误的值
- Javascript date 函数返回错误的星期几
- Date 对象中的 Javascript 语法错误
- Javascript Date 字符串构造错误的日期
- 系统日期正确,但新的 Date() 返回错误的值
- $.ajax 解析器错误时处理包含新 Date() 元素的 JSON
- Javascript Date.setHours()正在修改一个我没有引用的Date对象,使用了错误的日期
- new Date()设置了错误的月份
- JavaScript Date.UTC 在不同的时区给出错误的日期
- Javascript方法Date()在我的系统上返回了错误的日期(2月9日而不是9月2日),
- JSON epoch to date函数返回错误的日期
- 如果day是01,JavaScript date返回错误的月份