Timestamp para formato legível por humanos

Bem, eu tenho um problema estranho ao converter de timestamp unix para representação humana usando javascript

Aqui está o timestamp

1301090400

Este é o meu javascript

var date = new Date(timestamp * 1000);
var year    = date.getFullYear();
var month   = date.getMonth();
var day     = date.getDay();
var hour    = date.getHours();
var minute  = date.getMinutes();
var seconds = date.getSeconds();  

Eu esperava que os resultados fossem 2011 2, 25 22 00 00. Mas é 2011, 2, 6, 0, 0, 0 Do que sinto falta?