Eh bien, j'ai un problème étrange lors de la conversion de l'horodatage Unix en représentation humaine en utilisant javascript
Voici l'horodatage
1301090400
Ceci est mon 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();
Je m'attendais à ce que les résultats soient 2011 2, 25 22 00 00. Mais c'est 2011, 2, 6, 0, 0, 0 Qu'est-ce que je rate?
javascript
timestamp
Georgevich
la source
la source
Réponses:
getDay()
renvoie le jour de la semaine. Pour obtenir la date, utilisezdate.getDate()
.getMonth()
récupère le mois, mais le mois est basé sur zéro, donc l'utilisationgetMonth()+1
devrait vous donner le bon mois. La valeur de l'heure semble être correcte ici, bien que l'heure soit 23 ici (GMT + 1). Si vous voulez des valeurs universelles, ajoutezUTC
aux méthodes (par exempledate.getUTCFullYear()
,date.getUTCHours()
)la source
minute = (minute < 10 ? "0" : "") + minute;
date.getUTCHours()
?Où
unixtime
est l'heure renvoyée par votre base de données sql. Voici un violon si cela aide.Par exemple, en l'utilisant pour l'heure actuelle:
la source
"unixtime is undefined"
est ce que j'obtiens icinew Date(1480966325 * 1000).toUTCString()
voici la réponse de kooilnc avec des 0 rembourrés
la source
Les heures, minutes et secondes dépendent du fuseau horaire de votre système d'exploitation. En GMT (UST), il est 22:00:00 mais dans différents fuseaux horaires, cela peut être n'importe quoi. Ajoutez donc le décalage du fuseau horaire à l'heure pour créer la date GMT:
la source
utiliser
Date.prototype.toLocaleTimeString()
comme documenté iciveuillez noter l'exemple de locale en-US dans l'url.
la source