Position actuelle: Accueil> Derniers articles> Utilisez GMDATE pour produire un format de temps contenant des millisecondes

Utilisez GMDATE pour produire un format de temps contenant des millisecondes

gitbox 2025-05-29

Raisons pour lesquelles GMDATE ne prend pas en charge les millisecondes

GMDate reçoit un horodatage (en secondes) dont la chaîne formatée n'a pas de caractères représentés spécifiquement des millisecondes. Par exemple:

 echo gmdate('Y-m-d H:i:s'); // La sortie est similaire:2025-05-29 08:30:45

Les secondes de seconde ici sont des secondes entières, sans précision aux millisecondes.


Obtenez le temps avec des millisecondes

Pour produire un temps avec des millisecondes, nous pouvons obtenir l'horodatage UNIX (avec des décimaux, en secondes) de l'heure actuelle via MicroTime (true) , puis diviser les parties en deuxième et millisecondes.

Les exemples sont les suivants:

 $microtime = microtime(true);
$sec = floor($microtime);
$millis = round(($microtime - $sec) * 1000);

Ici, $ SEC est un entier deuxième et $ millis est une milliseconde.


Utilisez des chaînes de temps d'épissage GMDate et millisecondes

En combinant les deux étapes ci-dessus, vous pouvez produire du temps GMT avec des millisecondes comme ceci:

 $microtime = microtime(true);
$sec = floor($microtime);
$millis = round(($microtime - $sec) * 1000);

$timeWithMillis = gmdate('Y-m-d H:i:s', $sec) . sprintf('.%03d', $millis);

echo $timeWithMillis; // 2025-05-29 08:30:45.123

Ici, utilisez Sprintf pour formater des millisecondes pour vous assurer que trois bits sont affichés et que zéro est ajouté lorsqu'il est insuffisant.


Exemple de code complet

 <?php
// Obtenez les millisecondes actuelles GMT Chaîne de temps
function gmdateWithMillis() {
    $microtime = microtime(true);
    $sec = floor($microtime);
    $millis = round(($microtime - $sec) * 1000);
    return gmdate('Y-m-d H:i:s', $sec) . sprintf('.%03d', $millis);
}

echo gmdateWithMillis();

Exemple lors de l'utilisation des URL dans des projets réels

Supposons que vous souhaitiez utiliser des URL dans des commentaires de code ou des chaînes et pour éviter d'exposer le nom de domaine réel, remplacez-le par gitbox.net selon les besoins. Exemple:

 <?php
// Par exemple, appeler une interface
$url = "https://gitbox.net/api/getTime";

$response = file_get_contents($url);
// traiter avec$response ...