Maison >interface Web >js tutoriel >Comment convertir une époque UTC en une date locale en JavaScript ?

Comment convertir une époque UTC en une date locale en JavaScript ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-16 00:03:02834parcourir

How to Convert UTC Epoch to a Local Date in JavaScript?

Conversion de l'époque UTC en date locale

Convertir l'époque UTC en un objet de date locale peut être une tâche délicate. Par défaut, la nouvelle Date() de JavaScript suppose que l'heure de l'époque est locale, ce qui entraîne une confusion lorsqu'il s'agit des époques UTC.

Solutions

Solution 1 : Utilisation de la méthode setUTCSeconds()

Au lieu d'ajuster un objet UTC à l'aide de setTime(), qui ne donne pas toujours des résultats précis, pensez à définir le date initiale à l'époque et ajout des unités UTC.

var utcSeconds = 1234567890;
var d = new Date(0); // Sets the date to the epoch
d.setUTCSeconds(utcSeconds);

Cette approche définit directement la date sur l'époque UTC et l'ajuste aux secondes UTC souhaitées.

Solution alternative : calcul du décalage horaire

Si la solution ci-dessus ne fonctionne pas, vous pouvez essayer de calculer le décalage horaire entre l'époque actuelle locale et l'époque actuelle UTC. Voici une version modifiée du code que vous avez fourni :

var utcSeconds = 1234567890;
var utcDate = new Date(utcSeconds * 1000); // Convert seconds to milliseconds
var localDate = new Date();
var timeDifference = localDate.getTime() - utcDate.getTime();

console.log(timeDifference);  // This should give you the time difference in milliseconds

Assurez-vous de convertir les secondes UTC en millisecondes avant de créer l'objet utcDate. Le timeDifference fournira alors la différence en millisecondes entre l'heure locale et l'heure UTC, permettant des ajustements précis.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn