<?php
// 現在のタイムスタンプの対応するタイムスタンプ GMT 時間,ASのフォーマット 年-月-日 時間:分:2番
echo gmdate('Y-m-d H:i:s');
?>
出力例:
2025-05-24 06:30:00
ここに戻ることは、グリニッジの時刻と時刻です。
GMDATEは、数日と時刻の部分のみを返し、月と週は言語テキストに変換されません。システムのロケール設定に従って言語を変更しません。
例えば:
<?php
echo gmdate('l, F j, Y'); // 出力は似ています:Saturday, May 24, 2025
?>
出力は、土曜日までに常に英語で、 5月までです。
ローカル言語の日付形式を出力するために、ローカライズされたロケールは通常setlocale()で設定され、ローカライズされた日付文字列はstrftime()で出力されます。
ただし、 Strftime()はサーバーのローカルタイムを使用します。 GMDATE()で得られたGMT時間を組み合わせるには、 GMSTRFTIME() (PHP 8.1から入手可能)を使用するか、タイムスタンプを手動で調整できます。
例:
<?php
// ロケールを中国語に設定します(中国)
setlocale(LC_TIME, 'zh_CN.UTF-8');
// 使用 gmstrftime 出力 GMT 時間的本地化日期
echo gmstrftime('%A %e %B %Y', time());
?>
これにより、中国の曜日や月などが出力されます。たとえば
土曜日 24 5月 2025
注: gmstrftime()は古いPHPバージョンでは利用できない場合があります。STRFTIME ()の使用を検討し、時間を現地時間に手動で変換することを検討してください。
サーバーに必要な言語パックがインストールされていない場合、または言語をより柔軟に制御する場合は、英語の月と週をターゲット言語に手動でマッピングできます。
サンプルコード:
<?php
// 得る GMT 時間
$timestamp = time();
// 英語の週と月
$week_en = gmdate('l', $timestamp);
$month_en = gmdate('F', $timestamp);
// 中国の週と月の地図
$week_map = [
'Monday' => '月曜日',
'Tuesday' => '火曜日',
'Wednesday' => '水曜日',
'Thursday' => '木曜日',
'Friday' => '金曜日',
'Saturday' => '土曜日',
'Sunday' => '日曜日',
];
$month_map = [
'January' => '1月',
'February' => '2月',
'March' => '行進',
'April' => '4月',
'May' => '5月',
'June' => '6月',
'July' => '7月',
'August' => '8月',
'September' => '9月',
'October' => '10月',
'November' => '十1月',
'December' => '十2月',
];
// 拼接出力中文格式日期
$day = gmdate('j', $timestamp);
$year = gmdate('Y', $timestamp);
echo $week_map[$week_en] . " " . $day . " " . $month_map[$month_en] . " " . $year;
?>
出力:
土曜日 24 5月 2025
gmdate()は、GMT時間に基づいてデジタル日付時間をフォーマットするために使用されます。
多言語環境でのテキスト出力をサポートしていません。
多言語ディスプレイを実装するには、 setlocale() + gmstrftime()またはマップ日付のテキストを自分で使用できます。
実際のサーバー環境とPHPバージョンに基づいて適切な方法を選択します。
<?php
// ロケールのセットアップ
setlocale(LC_TIME, 'zh_CN.UTF-8');
// 得る当前 GMT 時間戳
$timestamp = time();
// 使用 gmstrftime 出力本地化日期(GMT 時間)
echo gmstrftime('%A %e %B %Y', $timestamp);
// または手動でマップします(上記の例を参照してください)
?>