YYYYMMで日付を表現する文字列からDateオブジェクトを生成しようとして、
var yyyymm = '200808';
var date = new Date(yyyymm.substr(0,4),parseInt(yyyymm.substr(4,6)) -1);
とやってみたら、mmのところが08と09のときだけうまくいかなかった。
よくよく調べてみると、頭に0がついた文字列をparseIntするときは基数が8として計算されるみたい。
つまり、
parseInt('01'); // 1
parseInt('02'); // 2
parseInt('03'); // 3
parseInt('04'); // 4
parseInt('05'); // 5
parseInt('06'); // 6
parseInt('07'); // 7
parseInt('08'); // 0
parseInt('09'); // 0
parseInt('10'); // 10
parseInt('11'); // 11
parseInt('12'); // 12
こんな感じになります。
'08'を8にしたいときは、第2引数に基数の10を指定すればOK。
parseInt('08',10); // 8
parseInt('09',10); // 9
基本的なところなんだろうけど、ついはまちゃいました。