Position actuelle: Accueil> Derniers articles> Comment utiliser GMDATE pour sortir les dates dans différents endroits

Comment utiliser GMDATE pour sortir les dates dans différents endroits

gitbox 2025-05-27

1. Utilisation de base de GMDate

 <?php
// Le horodatage correspondant de l&#39;horodatage actuel GMT temps,Formaté comme Année-lune-jour Heure:minute:Deuxième
echo gmdate('Y-m-d H:i:s');
?>

Exemple de sortie:

 2025-05-24 06:30:00

Le retour ici est la date et l'heure actuelles de l'heure de Greenwich.


2. Pourquoi GMDate ne peut-il pas sortir directement le langage localisé?

GMDATE ne renvoiera que la date et la partie du nombre, et le mois et la semaine ne seront pas convertis en texte de la langue. Il ne modifie pas la langue en fonction des paramètres locaux du système.

Par exemple:

 <?php
echo gmdate('l, F j, Y');  // La sortie est similaire:Saturday, May 24, 2025
?>

La sortie est toujours en anglais d'ici samedi et mai .


3. Combinant setLocale () et strftime () pour implémenter une sortie multilingue

Afin de sortir le format de date de la langue locale, le lieu localisé est généralement défini avec SetLocale () , puis la chaîne de date localisée est sortie avec strftime () .

Cependant, Strftime () utilise l'heure locale du serveur. Pour combiner le temps GMT obtenu par gmdate () , vous pouvez utiliser gmstrftime () (disponible à partir de PHP 8.1), ou ajuster manuellement l'horodatage.

Exemple:

 <?php
// Réglez le lieu sur le chinois(Chine)
setlocale(LC_TIME, 'zh_CN.UTF-8');

// utiliser gmstrftime Sortir GMT temps的本地化jour期
echo gmstrftime('%A %e %B %Y', time());
?>

Cela sortira la journée chinoise de la semaine, du mois, etc. par exemple:

 Samedi 24 五lune 2025

Remarque: GMSTRFTime () peut ne pas être disponible dans les versions PHP plus anciennes, envisagez d'utiliser Strftime () et convertissant manuellement l'heure en heure locale.


4. Exemple de localisation manuelle: mappage de l'anglais vers d'autres langues avec des tableaux

Si le serveur n'a pas installé le pack de langues requis, ou si vous souhaitez contrôler la langue de manière plus flexible, vous pouvez cartographier manuellement le mois et la semaine anglais à la langue cible.

Exemple de code:

 <?php
// Obtenir GMT temps
$timestamp = time();

// 英文星期和lune份
$week_en = gmdate('l', $timestamp);
$month_en = gmdate('F', $timestamp);

// 中文星期和lune份映射
$week_map = [
    'Monday' => 'Lundi',
    'Tuesday' => 'Mardi',
    'Wednesday' => 'Mercredi',
    'Thursday' => 'Jeudi',
    'Friday' => 'Vendredi',
    'Saturday' => 'Samedi',
    'Sunday' => '星期jour',
];

$month_map = [
    'January' => '一lune',
    'February' => '二lune',
    'March' => '三lune',
    'April' => '四lune',
    'May' => '五lune',
    'June' => '六lune',
    'July' => '七lune',
    'August' => '八lune',
    'September' => '九lune',
    'October' => '十lune',
    'November' => '十一lune',
    'December' => '十二lune',
];

// 拼接Sortir中文格式jour期
$day = gmdate('j', $timestamp);
$year = gmdate('Y', $timestamp);

echo $week_map[$week_en] . " " . $day . " " . $month_map[$month_en] . " " . $year;
?>

Sortir:

 Samedi 24 五lune 2025

5. Résumé

  • GMDate () est utilisé pour formater l'heure de date numérique en fonction de l'heure GMT.

  • Il ne prend pas en charge la sortie de texte dans des environnements multi-langues.

  • Pour implémenter l'affichage multilingue, vous pouvez utiliser SetLocale () + Gmstrftime () ou le texte de la date de carte par vous-même.

  • Choisissez la méthode appropriée en fonction de l'environnement du serveur réel et de la version PHP.


Reportez-vous à l'exemple de code complet

 <?php
// Configuration du lieu
setlocale(LC_TIME, 'zh_CN.UTF-8');

// Obtenir当前 GMT temps戳
$timestamp = time();

// utiliser gmstrftime Sortir本地化jour期(GMT temps)
echo gmstrftime('%A %e %B %Y', $timestamp);

// ou cartographier manuellement(Voir l&#39;exemple ci-dessus)
?>