有这个字符串30/11/2011。我想把它转换成日期对象。
我是否需要使用:
Date d = new Date(2011,11,30); /* months 1..12? */
or
Date d = new Date(2011,10,30); /* months 0..11? */
?
有这个字符串30/11/2011。我想把它转换成日期对象。
我是否需要使用:
Date d = new Date(2011,11,30); /* months 1..12? */
or
Date d = new Date(2011,10,30); /* months 0..11? */
?
当前回答
总是,对于任何关于JavaScript规范的实际问题,我强烈推荐Mozilla开发者网络和他们的JavaScript参考。
它在Date对象的主题中声明了您使用的参数变量:
new Date(year, month, day [, hour, minute, second, millisecond ])
关于months参数:
month表示月份的整数值,1月从0开始,12月从11开始。
显然,你应该用数字10来表示11月。
附注:我推荐MDN的原因是它的正确性、对事物的良好解释、示例和浏览器兼容性图表。
其他回答
var d = new Date(2011,10,30);
js中的月份索引从0开始。
语法如下:
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 dateString = str.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);
然后,
var d = new Date( dateString[3], dateString[2]-1, dateString[1] );
非常简单:
var dt=new Date("2011/11/30");
日期的ISO格式为yyyy/MM/dd。
如上所述,有多种创建日期的方法。我不会重复同样的事情。这里是一个小方法转换字符串到日期在Java脚本,如果这是你正在寻找的,
function compareDate(str1){
// str1 format should be dd/mm/yyyy. Separator can be anything e.g. / or -. It wont effect
var dt1 = parseInt(str1.substring(0,2));
var mon1 = parseInt(str1.substring(3,5));
var yr1 = parseInt(str1.substring(6,10));
var date1 = new Date(yr1, mon1-1, dt1);
return date1;
}