1

我有像“02.09.13”这样的字符串

我想把这个刺痛格式化为日期。为此,我编写了类似的代码,

var date = new Date("02.09.13");
alert(date);

它正在打印“NaN”

但是如果字符串像“02/09/12”这样的代码是有效的

4

4 回答 4

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");
于 2013-09-20T04:48:00.350 回答
0

您需要更换 . 与 / 像下面给出的一样

var unformattedDate= "02.09.13"
var actDate = unformattedDate.replace(/\./g, '/');

var date = new Date( actDate );
alert(date);

希望这可能会有所帮助。

于 2013-09-20T05:05:35.777 回答
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

此致

于 2013-09-20T04:47:21.743 回答
0

没试过 new Date("02.09.13".replace(/\./g, '/'));// 但认为 13 ~ 1913

对于日期 {2013 年 2 月 9 日星期六 00:00:00 GMT-0800(太平洋夏令时间)}

没试过new Date("02.09.2013".replace(/\./g, '/'));

于 2013-09-20T04:47:42.870 回答