Dans PHP, la fonction GMDate () est utilisée pour formater une chaîne de date et d'heure basée sur l'heure standard de Greenwich (GMT). Contrairement à la fonction date () , gmdate () renvoie l'heure GMT, pas l'heure locale du serveur. Il est parfait pour gérer les exigences de date à la date dans les fuseaux horaires.
Lors de la mise en forme des dates avec GMDate () , vous rencontrez souvent des problèmes de «compensation zéro», tels que les heures, les minutes, les secondes, les mois et les dates. Si le nombre est inférieur à 10, devriez-vous remplir zéro? En fait, GMDate () fournit des caractères de mise en forme pour gérer automatiquement cela.
D — - représente le jour du mois, avec une compensation zéro, varie de 01 à 31
J — - Date sans compensation zéro, la plage est de 1 à 31
M —— représente le mois, avec une compensation nulle, varie de 01 à 12
n —— mois sans compensation zéro, varie de 1 à 12
H —— Système 24 heures avec une compensation nulle, la plage est de 00 à 23
G —— Système 24 heures sur 24, sans compensation zéro, la plage est de 0 à 23
I —— Minutes, avec une compensation zéro, la plage est de 00 à 59
S - secondes, avec une compensation zéro, la plage est de 00 à 59
Donc, tant que vous souhaitez remplir automatiquement Zeros, utilisez des caractères de format avec des zéros de remplissage, tels que D , M , H , I , S. Si vous ne voulez pas composer le zéro, utilisez le caractère correspondant sans le complément zéro.
<?php
// Horodatage actuel
$timestamp = time();
// Date et heure avec format de complément zéro
echo gmdate('Y-m-d H:i:s', $timestamp);
// Exemple de sortie: 2025-05-24 14:05:09
// Date et heure sans régénération zéro
echo gmdate('Y-n-j G:i:s', $timestamp);
// Exemple de sortie: 2025-5-24 14:5:9
?>
Le code ci-dessus montre que gmdate () décide automatiquement s'il faut remplir zéro en fonction du caractère de format lui-même, et nous n'avons pas besoin de traitement supplémentaire.
Certains débutants peuvent essayer d'utiliser des instructions conditionnelles pour déterminer la taille des nombres, puis compenser les zéros, tels que:
<?php
$hour = gmdate('G');
if ($hour < 10) {
$hour = '0' . $hour;
}
echo $hour;
?>
Ce type d'écriture est lourd et sujette aux erreurs. Il est complètement inutile, car l'utilisation du caractère de format H peut automatiquement compenser les zéros.
Lors de la mise en forme des dates à l'aide de gmdate () , vous pouvez automatiquement remplir les zéros avec des caractères de format avec des zéros sans fonctionnement manuel.
Par exemple, D , M , H , I , S compenseront automatiquement zéro.
Utilisez J , N , G et d'autres caractères de format sans complément zéro.
Pour des caractères plus formatés et l'utilisation de gmdate () , vous pouvez vous référer à la documentation officielle: