Imaginez que vous souhaitiez une date formatée, avec des microsecondes, à partir d'un horodatage UNIX mesuré en millisecondes. Mais vous vous retrouvez à plusieurs reprises avec 000000 et un résultat comme celui-ci :
07-28-2013 11:26:14.000000
La solution consiste à utiliser le format de saisie U.u :
$now = DateTime::createFromFormat('U.u', microtime(true)); echo $now->format("m-d-Y H:i:s.u");
Cela donne le résultat suivant :
04-13-2015 05:56:22.082300
D'après le manuel PHP pour les formats de date, nous avons :
Normalement, createFromFormat() utilise le fuseau horaire local s'il n'est pas spécifié. Cependant, microtime() renvoie les secondes écoulées depuis l'époque Unix en UTC, donc l'objet DateTime est implicitement initialisé en UTC. Cela convient aux tâches internes au serveur, mais si vous devez afficher l'heure d'un fuseau horaire spécifique, définissez le fuseau horaire en conséquence après avoir initialisé l'objet. Utilisez la méthode setTimeZone() à cet effet.
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!