RFC 2822メールおよびHTTP用日付フォーマット
メールヘッダー、HTTPヘッダー、RSSフィードで使用されるRFC 2822日付フォーマットを理解します。構造、タイムゾーン略語、コードでの生成方法を解説。
Standards
詳細な説明
RFC 2822 — メールおよびHTTP日付フォーマット
RFC 2822(およびその前身RFC 822)は、インターネットメールヘッダー、HTTPプロトコルヘッダー、RSS/Atomフィードで使用される日付フォーマットを定義しています。新しいAPIではISO 8601ほど普及していませんが、メールとWebインフラストラクチャでは依然として重要です。
フォーマット構造
Sat, 28 Feb 2026 14:30:00 +0900
内訳:
Sat— 3文字の曜日略語(任意)28— 月の日(1または2桁)Feb— 3文字の英語月名略語2026— 4桁の年14:30:00— 24時間形式の時刻+0900— タイムゾーンオフセット(コロン区切りなし)
ISO 8601との主な違い
| 特徴 | ISO 8601 | RFC 2822 |
|---|---|---|
| 月 | 数値(02) |
英語略語(Feb) |
| 区切り | T |
スペース |
| タイムゾーン | +09:00またはZ |
+0900または略語 |
| 曜日 | 含まれない | オプションの接頭辞 |
| ソート可能 | はい | いいえ(パース必要) |
各言語のパターン
| 言語 | パターン |
|---|---|
| JavaScript (date-fns) | EEE, dd MMM yyyy HH:mm:ss xx |
| Python | %a, %d %b %Y %H:%M:%S %z |
| Java | EEE, dd MMM yyyy HH:mm:ss XX |
| PHP | D, d M Y H:i:s O |
| Go | Mon, 02 Jan 2006 15:04:05 -0700 |
ユースケース
RFC 2822フォーマットはメールのDateヘッダー(SMTP)、HTTPのDateヘッダー(Last-Modified、Expires、Date)、RSSフィードのpubDate要素、CookieのExpiresに必要です。メール処理やHTTPキャッシュ実装には不可欠なフォーマットです。