Position actuelle: Accueil> Derniers articles> Comment obtenir l'heure d'un format personnalisé via GetTimeOfday et Date Fonctions?

Comment obtenir l'heure d'un format personnalisé via GetTimeOfday et Date Fonctions?

gitbox 2025-05-28

En PHP, l'obtention du temps est une exigence très courante en matière de développement. Les fonctions getTimeOfday () et Date () sont des fonctions communes utilisées pour gérer le temps, mais leurs résultats d'objectif et de retour sont différents. Cet article expliquera comment combiner getTimeOfday () et date () pour obtenir des chaînes de temps avec des formats personnalisés.


1. Introduction à la fonction getTimeOfday ()

La fonction gettimeofday () renvoie les informations détaillées de l'heure actuelle, y compris le nombre de secondes et de microsecondes. Sa valeur de retour est un tableau associatif, et les champs communs sont les suivants:

  • SEC : Nombre de secondes depuis l'ère Unix (1970-01-01 00:00:00 UTC)

  • USEC : le nombre de microsecondes dans la seconde actuelle

Exemple:

 <?php
$time = gettimeofday();
print_r($time);
?>

La sortie est similaire:

 Array
(
    [sec] => 1621766783
    [usec] => 123456
    [minuteswest] => 480
    [dsttime] => 0
)

2. Fonction Introduction à Date ()

Date () est la fonction principale de la mise en forme de l'heure de PHP. Il reçoit deux paramètres:

  • Chaîne de format (comme ymd h: i: s )

  • Horodatage facultatif (secondes)

Exemple:

 <?php
echo date('Y-m-d H:i:s'); // Temps de courant de sortie,Par exemple 2021-05-23 15:19:43
?>

3. Combinaison GetTimeofday et date pour implémenter l'heure du format personnalisé (avec des microsecondes)

Date () ne peut traiter que des secondes et ne peut pas afficher les microsecondes. Vous pouvez obtenir des microsecondes via GetTimeOfday () , puis les combiner avec le nombre de secondes formatées par date () pour obtenir une chaîne de temps avec des microsecondes.

Exemple de code:

 <?php
$time = gettimeofday();
$seconds = $time['sec'];
$microseconds = $time['usec'];

// Formater la deuxième partie
$formatted_time = date('Y-m-d H:i:s', $seconds);

// Épissage de pièces microsecondes,Formaté comme6Peu,Compensation inadéquate0
$micro_str = str_pad($microseconds, 6, '0', STR_PAD_LEFT);

// Chaîne de temps finale,Format tel que:2021-05-23 15:19:43.123456
echo $formatted_time . '.' . $micro_str;
?>

4. Utiliser la fonction de la fonction pour une réutilisation facile

Pour faciliter une utilisation multiple dans le projet, le code ci-dessus peut être encapsulé en une fonction:

 <?php
function getFormattedMicrotime($format = 'Y-m-d H:i:s') {
    $time = gettimeofday();
    $seconds = $time['sec'];
    $microseconds = $time['usec'];
    $formatted_time = date($format, $seconds);
    $micro_str = str_pad($microseconds, 6, '0', STR_PAD_LEFT);
    return $formatted_time . '.' . $micro_str;
}

// Exemple d&#39;utilisation
echo getFormattedMicrotime(); // Format par défaut
echo "\n";
echo getFormattedMicrotime('Y/m/d H:i:s'); // Format personnalisé
?>

5. Conclusion

Grâce à cet exemple, vous pouvez facilement combiner getTimeOfday () et date () en PHP pour obtenir une sortie de temps de format personnalisé avec des microsecondes. Cela peut répondre aux besoins du temps plus raffiné, en particulier adapté à l'exploitation forestière, à la surveillance des performances et à d'autres scénarios.

Pour en savoir plus sur l'utilisation des fonctions de temps PHP, vous pouvez vous référer à Gitbox.net/Php-date-Function .