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.
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
)
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
?>
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;
?>
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'utilisation
echo getFormattedMicrotime(); // Format par défaut
echo "\n";
echo getFormattedMicrotime('Y/m/d H:i:s'); // Format personnalisé
?>
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 .