¿Como você representaria o dia 1º de dezembro de 2012 em Javascript? Provavelmente algo assim:
var d = new Date(2012, 12, 1);
Bem, não, você não. O Javascript espera que o mês seja um número entre 0 para janeiro e 11 para dezembro, então seria:
var d = new Date(2012, 11, 1);