Conversion de DOMTimeStamp en HH localisé: MM: SS MM-DD-YY via Javascript

L' API de géolocalisation W3C (entre autres) utilise DOMTimeStamp pour son temps de correction.

Ceci est "millisecondes depuis le début de l'époque Unix".

Quelle est la façon la plus simple de convertir cela en un format lisible par l'homme et de s'adapter à la fuseau horaire local?

Une version du constructeur Date prend le nombre de "millisecondes depuis le début de l'Epoque Unix" comme premier paramètre et seul.

En supposant que votre horodatage se trouve dans une variable appelée domTimeStamp , le code suivant convertira cette horodatage en heure locale (en supposant que l'utilisateur dispose de la date et du fuseau horaire définis sur son ordinateur) et imprime une version lisible par l'homme de la date:

 var d = new Date(domTimeStamp); document.write(d.toLocaleString()); 

Les autres méthodes intégrées de mise en forme de date comprennent:

 Date.toDateString() Date.toLocaleDateString() Date.toLocaleTimeString() Date.toString() Date.toTimeString() Date.toUTCString() 

En supposant que votre exigence est d'imprimer le motif exact de "HH: MM: SS MM-DD-YY", vous pourriez faire quelque chose comme ceci:

 var d = new Date(domTimeStamp); var hours = d.getHours(), minutes = d.getMinutes(), seconds = d.getSeconds(), month = d.getMonth() + 1, day = d.getDate(), year = d.getFullYear() % 100; function pad(d) { return (d < 10 ? "0" : "") + d; } var formattedDate = pad(hours) + ":" + pad(minutes) + ":" + pad(seconds) + " " + pad(month) + "-" + pad(day) + "-" + pad(year); document.write(formattedDate); 
 var d = new Date(millisecondsSinceEpoch); 

Vous pouvez alors le formater comme vous le souhaitez.

Vous pouvez trouver datajs , en particulier son formatage toString , utile.