有这个字符串30/11/2011。我想把它转换成日期对象。

我是否需要使用:

Date d = new Date(2011,11,30);   /* months 1..12? */

or

Date d = new Date(2011,10,30);   /* months 0..11? */

?


当前回答

语法如下:

new Date(year, month [, day, hour, minute, second, millisecond ])

so

Date d = new Date(2011,10,30);

是正确的;日、小时、分钟、秒、毫秒是可选的。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

其他回答

非常简单:

var dt=new Date("2011/11/30");

日期的ISO格式为yyyy/MM/dd。

首先像这样提取字符串

var dateString = str.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);

然后,

var d = new Date( dateString[3], dateString[2]-1, dateString[1] );

语法如下:

new Date(year, month [, day, hour, minute, second, millisecond ])

so

Date d = new Date(2011,10,30);

是正确的;日、小时、分钟、秒、毫秒是可选的。

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date

你肯定想使用第二个表达式,因为JS中的月份是从0开始枚举的。

你也可以使用Date。解析方法,但它使用不同的日期格式:

var timestamp = Date.parse("11/30/2011");
var dateObject = new Date(timestamp);
var d = new Date(2011,10,30);

js中的月份索引从0开始。