En PHP, les dates de traitement et de formatage sont des exigences communes en matière de développement. GMDate () et StrtoTime () sont deux fonctions très pratiques qui peuvent nous aider à convertir les chaînes de temps en horodatage et les sortir au format GMT (Greenwich Standard Time). Mais comment combiner correctement ces deux fonctions pour formater la date et l'heure spécifiées? Cet article expliquera en détail.
StrtoTime () est utilisé pour analyser la description de la date-heure de tout texte anglais dans un horodatage Unix (c'est-à-dire le nombre de secondes à partir du 1er janvier 1970). Il prend en charge divers formats de date commun tels que:
<?php
$timestamp = strtotime('2025-05-22 15:30:00');
echo $timestamp;
?>
Le code ci-dessus sortira un horodatage entier.
GMDate () est similaire à Date () , mais il offre l'heure standard de Greenwich (GMT), pas l'heure du fuseau horaire actuel du serveur. Son premier paramètre est la chaîne de format de date, et le deuxième paramètre est l'horodatage:
<?php
echo gmdate('Y-m-d H:i:s', time());
?>
Cela étend le temps GMT actuel.
Une utilisation typique de la combinaison de ces deux fonctions est:
Utilisez StrtoTime () pour convertir la date et l'heure de la chaîne en un horodatage
Formater l'horodatage à la chaîne de format GMT souhaité avec gmdate ()
Exemple:
<?php
$input_date = '2025-05-22 15:30:00';
$timestamp = strtotime($input_date);
$formatted_date = gmdate('Y-m-d H:i:s', $timestamp);
echo $formatted_date;
?>
Ici, quel que soit le fuseau horaire du serveur, la date et l'heure spécifiées seront sorties en tant qu'heure GMT.
La chaîne entrée à strToTime () doit être dans un format de date valide, sinon FAUX sera retourné.
GMDate () sortit le temps GMT. Si vous avez besoin d'heure locale, vous devez utiliser Date () à la place.
Lorsqu'il est combiné, assurez-vous que la signification du fuseau horaire de la chaîne de temps d'entrée est claire, sinon une déviation temporelle peut se produire.
Parfois, nous voulons analyser le temps de chaîne dans un fuseau horaire spécifié, puis le convertir en GMT, qui peut être combiné avec la classe DateTime :
<?php
$date = new DateTime('2025-05-22 15:30:00', new DateTimeZone('Asia/Shanghai'));
$date->setTimezone(new DateTimeZone('GMT'));
echo $date->format('Y-m-d H:i:s');
?>
Cela permet plus de flexibilité dans la gestion de la conversion du fuseau horaire.
Ce qui précède est de savoir comment formater correctement la date et l'heure spécifiées en combinaison avec GMDate et StrtoTime . La maîtriser peut éviter efficacement le problème du format de temps et du fuseau horaire et améliorer la précision du traitement de la date et du temps.
<?php
// Exemple de code:Convertir la chaîne de temps spécifiée en GMT Format Time Sortie
$input_date = '2025-05-22 15:30:00';
$timestamp = strtotime($input_date);
if ($timestamp === false) {
echo 'Format de temps non valide';
} else {
echo gmdate('Y-m-d H:i:s', $timestamp);
}
?>
<?php
// utiliser DateTime Les cours gèrent plus précisément les fuseaux horaires
$date = new DateTime('2025-05-22 15:30:00', new DateTimeZone('Asia/Shanghai'));
$date->setTimezone(new DateTimeZone('GMT'));
echo $date->format('Y-m-d H:i:s');
?>
Si vous devez vous référer à des documents pertinents, vous pouvez accéder:
https://gitbox.net/manual/en/fonction.gmdate.php
https://gitbox.net/manual/en/fonction.strtotime.php
https://gitbox.net/manual/en/class.datetime.php