在工作中,要求实现一个只能查询往前一个月以内的数据,于是就想在jsp页面里通过js来求得月数,然后相减做判断。现在出现的问题是这样的,比如输入两个日期:20121023和20120823,然后截断用substring截成年月日后,求月数。
var monthnum1 = parseInt("2012") * 12 + parseInt("10"); //(这个值等于24154,正确)
但是,
var monthnum2 = parseInt("2012") * 12 + parseInt("08"); //(这个值等于24144,不正确,应该是24152)
经过单独输出,发现parseInt("08")的值为:0.分析啊分析,查啊查,结果出来了。
对于"08","09",parseInt()函数是把他们看做是八进制,原因是前面的那个"0",如果想要"08","09"转换成想要的十进制数字,怎么办呢?那就要用到函数:parseInt("08",10)。