Maison  >  Article  >  développement back-end  >  Pourquoi mon code PHP convertit-il les millisecondes en une mauvaise date ?

Pourquoi mon code PHP convertit-il les millisecondes en une mauvaise date ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-31 13:13:52847parcourir

Why Does My PHP Code Convert Milliseconds to the Wrong Date?

Conversion de millisecondes en date en PHP

Vous disposez d'une chaîne numérique représentant une date en millisecondes depuis l'époque Unix. En voulant le convertir au format "d-m-Y", vous avez rencontré un écart entre le résultat attendu et le résultat réel. Cet article explore la cause du problème et propose une solution.

Problème :

Votre code ci-dessous renvoie "25-11-2008" au lieu du "02" attendu. -12-2008":

<code class="php">$mil = 1227643821310;
$seconds = $mil / 1000;
echo date("d-m-Y", $seconds);</code>

Solution :

Contrairement à l'hypothèse, la valeur en millisecondes fournie ("1227643821310") ne correspond pas à "02- 12-2008" mais au "25-11-2008". Il s'agit de la conversion correcte pour l'entrée donnée.

L'horodatage représente le nombre de millisecondes depuis 00:00:00 UTC, le 1er janvier 1970. Le diviser par 1000 le convertit en secondes, et la fonction date alors le formate au format souhaité.

Conclusion :

Le problème réside dans une hypothèse incorrecte concernant la valeur des millisecondes. Lors de la conversion de millisecondes en date, assurez-vous de l'exactitude de l'entrée et comparez la sortie à la valeur attendue.

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