現在の位置: ホーム> 最新記事一覧> GMDATEを使用して、RFC 2822形式で日付を出力します

GMDATEを使用して、RFC 2822形式で日付を出力します

gitbox 2025-05-27

GMDATEを使用したRFC 2822形式の日付世代の例

<?php
// 使用 gmdate 適合性を生成します RFC 2822 時間形式の文字列
$date = gmdate("D, d M Y H:i:s") . " +0000";

echo $date;
?>

上記のコードでは、 gmdate( "d、d myh:i:s")を使用して時間部分を生成し、 +0000を手動で追加してUTCタイムゾーンオフセットを表します。 GMDate自体が返す時間はグリニッジ標準時間であるため、タイムゾーンは+0000でなければならないことに注意してください。


o -format文字を直接使用できないのはなぜですか?

oは、GMTに対する現地時間のオフセットを表します。 gmdate( "d、d myh:i:s o")を使用すると、結果は+0000になりますが、日付( "d、d myh:i:s o")を使用すると、サーバーのローカルタイムゾーンのオフセットになります。

ただし、 GMDATE関数はタイムゾーンオフセットシンボルOをサポートせず、使用するとデフォルトで+0000を返します。現時点では、通常、文字列スプライシングで手動で+0000を追加することをお勧めします。


DateTimeクラスを使用することをお勧めします

GMDATEは基本的なRFC 2822形式を出力できますが、PHPの組み込みのDateTimeクラスをDateTimeZoneで使用して、標準および正しいRFC 2822形式を生成することをお勧めします。

 <?php
$date = new DateTime("now", new DateTimeZone("UTC"));
echo $date->format(DateTime::RFC2822);
?>

このコードは、すべての形式とタイムゾーンの詳細を自動的に処理し、RFC 2822標準に準拠するタイムストリングを返します。


要約します

  • GMDATEを使用する場合、タイムゾーンパーツは手動で+0000を追加する必要があります。

  • GMDATEは、タイムゾーンオフセットシンボルOの直接フォーマットをサポートしていません。

  • また、 DateTimeクラスを使用して、RFC 2822に準拠する時間形式を生成することもお勧めします。

  • RFC 2822の標準形式はD、D MyH:I:S O 、たとえば: Thu、2025年5月23日08:30:00 +0000です

PHP日付関数に関するより多くの公式ドキュメントにアクセスする必要がある場合は、以下を参照できます。

 // リンクの例:php.net 日付関数ページ(ドメイン名が置き換えられました)
echo "https://gitbox.net/manual/en/function.gmdate.php";

これにより、詳細な使用法をすばやく見つけることができます。