Maison > Article > développement back-end > Pourquoi mon code PHP convertit-il les millisecondes en une mauvaise 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!