分类: Python/Ruby
2011-07-18 17:03:10
根据google得来的结果:
javascript字符串转换成日期型的两种方法
第一种:
function strToDate(str)
{
var val=Date.parse(str);
var newDate=new Date(val);
return newDate;
}
第二种:
function strToDate(str)
{
var arys= new Array();
arys=str.split('-');
var newDate=new Date(arys[0],arys[1],arys[2]);
return newDate;
}
但是在使用第二种方法实际测试的时候,发现简单的使用上面的函数进行转换的结果是错误的,月份不对,比如new Date(2011,07,18)的转换结果是Thu Aug 18 2011 00:00:00 GMT+0800。月份加1了。想起来getMonth()函数取完结果都要加1,所以这里应该先将月份减1,再转换才行。那么为什么要加1或者减1呢?答案如下:
js中获得月份getmonth()+1,为什么要加1?
答:
因为 月份在JS里面是从0开始的
0 一月
1二月
。。。
11 十二月
getmonth()这个方法获取的其实是索引值。他的值是从0开始的。所以要加1才会得到真正的月份