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.
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.
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!