我的字符串如“02.09.13”'
我想格式化这个刺痛到目前为止。为此我写了像
这样的代码var date = new Date("02.09.13");
alert(date);
打印'NaN'
但如果字符串如“02/09/12”
,此代码正常工作答案 0 :(得分:4)
对于除IE之外的所有浏览器(不确定哪些版本),您的代码都可以使用
var date = new Date('02.09.13');
alert(date);
对于我们使用的IE:
var date = new Date(Date.parse('02.09.13'.replace(/\./ig, '/')));
alert(date);
如果您确实想使用'dd.mm.yy'格式解析日期,那么值得注意的是Date对象不会开箱即用。有一个非常好的库名为moment.js,这使得解析这些日期非常简单,例如下面的日期:
moment("02.09.13", "DD.MM.YY");
答案 1 :(得分:0)
NaN仅在您需要正确日期时间格式的iE浏览器上显示。
var d = new Date(2011, 01, 07); // yyyy, mm-1, dd
var d = new Date(2011, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss
var d = new Date("02/07/2011"); // "mm/dd/yyyy"
var d = new Date("02/07/2011 11:05:00"); // "mm/dd/yyyy hh:mm:ss"
var d = new Date(1297076700000); // milliseconds
var d = new Date("Mon Feb 07 2011 11:05:00 GMT"); // ""Day Mon dd yyyy hh:mm:ss GMT/UTC
查看此博客:JavaScript new Date() Returning NaN in IE or Invalid Date in Safari
最好的问候
答案 2 :(得分:0)
没有尝试 new Date("02.09.13".replace(/\./g, '/'));
//但是认为13~1913
日期{星期六09年9月00日00:00:00 GMT-0800(太平洋夏令时)}
没有尝试new Date("02.09.2013".replace(/\./g, '/'));
答案 3 :(得分:0)
你需要更换。 / 就像下面给出的那样
var unformattedDate= "02.09.13"
var actDate = unformattedDate.replace(/\./g, '/');
var date = new Date( actDate );
alert(date);
希望这可能会有所帮助。