Obtention du format de date m-d-Y H:i:s.u à partir de millisecondes à l'aide de la bibliothèque DateTime
Vous souhaitez formater une date, y compris les microsecondes, à partir d'un Horodatage UNIX donné en millisecondes. Cependant, vous rencontrez une sortie cohérente de 000000, comme indiqué ci-dessous :
<code class="php">$milliseconds = 1375010774123; $d = date("m-d-Y H:i:s.u", $milliseconds / 1000); print $d;</code>
Sortie :
07-28-2013 11:26:14.000000
Solution :
Pour efficacement formatez votre date en microsecondes, utilisez plutôt le format d'entrée « U.u » :
<code class="php">$now = DateTime::createFromFormat('U.u', microtime(true)); echo $now->format("m-d-Y H:i:s.u");</code>
Ce code affichera :
04-13-2015 05:56:22.082300
Spécification du format :
Considérations sur le fuseau horaire :
Notez que createFromFormat() suppose le fuseau horaire local si aucun n'est spécifié. Cependant, puisque microtime() renvoie l'heure UTC, votre objet DateTime est implicitement initialisé à UTC. Si vous devez afficher un fuseau horaire spécifique, définissez-le à l'aide de setTimeZone() après l'initialisation.
Entrée de la base de données MySQL :
Si vous insérez la date formatée dans une base de données MySQL , utilisez le format suivant :
<code class="php">format("Y-m-d H:i:s.u")</code>
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!