PHPでは、 GMDATE関数は、グリニッジ標準時間(GMT)に基づいてフォーマットされた日付および時刻文字列を返す非常に実用的な日付処理ツールです。日付関数と比較して、 GMDATEはサーバータイムゾーンの設定の影響を受けず、ロギング、クロスタイムゾーンタイムディスプレイなど、統一された時間標準を必要とするシナリオにより適しています。
この記事では、 GMDate関数を使用して、必要な日付と時刻形式をカスタマイズする方法を紹介します。
GMDATEの基本的な構文は次のとおりです。
gmdate(string $format, int|null $timestamp = null): string
$フォーマット:日付と時刻形式、フォーマットルールは日付関数と同じです。
$タイムスタンプ:タイムスタンプ、デフォルトで現在の時刻。
フォーマット文字 | 意味 | 例 |
---|---|---|
y | 4桁の年 | 2025 |
m | 2桁の月 | 05 |
d | 二桁の日 | 24 |
h | 24時間 | 14 |
私 | 分 | 30 |
s | 2番 | 45 |
d | 今週の略語(英語) | 土 |
その他のフォーマット文字については、公式のPHPドキュメントを参照してください。
次の形式と同様の時間を出力するとします。
2025-05-24 14:30:45
コード例:
echo gmdate('Y-m-d H:i:s');
よりパーソナライズされた形式を出力する場合、たとえば:
Saturday, 24th of May 2025, 14:30 GMT
あなたはこのように書くことができます:
echo gmdate('l, jS \of F Y, H:i \G\M\T');
ここでは、文字がフォーマット文字として解釈されていることを避けるために、ここで使用されます。
また、タイムスタンプを渡して、特定の時間をフォーマットすることもできます。例えば:
$timestamp = strtotime('2023-01-01 00:00:00');
echo gmdate('Y-m-d H:i:s', $timestamp);
https://gitbox.net/api?time=current gmt timeにアクセスするなど、時間パラメーターを備えたURLを生成する必要があるとします。コードは次のとおりです。
$time = gmdate('Y-m-d\TH:i:s\Z');
$url = "https://gitbox.net/api?time=" . urlencode($time);
echo $url;
ここでは、ISO 8601形式を使用してGMT時間を出力し、 URLENCODEを介して逃げてURLパラメーターを安全に配置します。