在工作中,要求實現一個只能查詢往前一個月以內的數據,於是就想在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)。