Bem, eu tenho um problema estranho ao converter de carimbo de data / hora 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 resultados em 2, 25 22 00 00 em 2011. Mas é em 2011, 2, 6, 0, 0, 0 O que estou perdendo?
javascript
timestamp
georgevich
fonte
fonte
Respostas:
getDay()
retorna o dia da semana. Para obter a data, usedate.getDate()
.getMonth()
recupera o mês, mas o mês é baseado em zero, portanto, o usogetMonth()+1
deve fornecer o mês certo. O valor do tempo parece estar ok aqui, embora a hora seja 23 aqui (GMT + 1). Se você quiser valores universais, adicioneUTC
aos métodos (por exemplodate.getUTCFullYear()
,date.getUTCHours()
)fonte
minute = (minute < 10 ? "0" : "") + minute;
date.getUTCHours()
?Onde
unixtime
está o tempo retornado pelo seu sql db. Aqui está um violino, se ajudar.Por exemplo, usando-o para a hora atual:
fonte
"unixtime is undefined"
é o que estou recebendo aquinew Date(1480966325 * 1000).toUTCString()
aqui está a resposta de kooilnc com zeros preenchidos
fonte
Horas, minutos e segundos dependem do fuso horário do seu sistema operacional. No GMT (UST) são 22:00:00, mas em diferentes fusos horários pode ser qualquer coisa. Portanto, adicione a diferença de fuso horário à hora para criar a data GMT:
fonte
use
Date.prototype.toLocaleTimeString()
conforme documentado aquiobserve o exemplo de local en-US no url.
fonte