parseIntで日付の月の2桁の値を文字列から数値に変換しようとしたところ、 8月の値である"08"と9月の値である"09"をparseIntで数値に 変換した際に0が返ってきてしまいました。 parseIntでは、先頭に0が付いていると8進数とみなして型変換 されてしまいます。 そのため、8進数では8,9が存在しないので、 parseInt("08") parseInt("09") とすると0が返ってくる仕様のようです。 (また、先頭に0xを付けると16進数とみなして型変換されます。) これを解決するには、以下のように記述すれば求める値が得られます。 parseInt("08", 10) → 8 parseInt("09", 10) → 9 ちなみに、 parseInt("FF", 16) → 256 parseInt("110", 2) → 6 以上のような変換をすることも出来ます。