C# DateTime.ToStringフォーマット文字列
C# DateTime.ToStringカスタムフォーマット文字列のリファレンス。標準およびカスタムフォーマット指定子、カルチャ固有のフォーマット、DateTimeOffsetの処理を解説。
Language-Specific
詳細な説明
C# DateTime.ToStringフォーマット文字列
C#はDateTime.ToString()用に標準(単一文字)とカスタム(複数文字)の両方のフォーマット指定子を提供します。
カスタムフォーマット指定子
| 指定子 | 意味 | 例 |
|---|---|---|
yyyy |
年(4桁) | 2026 |
MMMM |
月名(完全) | February |
MM |
月(ゼロパディング) | 02 |
dddd |
曜日名(完全) | Saturday |
dd |
日(ゼロパディング) | 28 |
HH |
24時間制の時 | 14 |
hh |
12時間制の時 | 02 |
mm |
分 | 30 |
ss |
秒 | 00 |
fff |
ミリ秒 | 123 |
tt |
AM/PM | PM |
zzz |
オフセット | +09:00 |
標準フォーマット指定子
| 指定子 | 名前 | en-US例 |
|---|---|---|
d |
短い日付 | 2/28/2026 |
D |
長い日付 | Saturday, February 28, 2026 |
o |
ラウンドトリップ | 2026-02-28T14:30:00.0000000+09:00 |
r |
RFC 1123 | Sat, 28 Feb 2026 14:30:00 GMT |
カルチャ固有のフォーマット
dt.ToString("d", new CultureInfo("de-DE")); // "28.02.2026"
dt.ToString("d", new CultureInfo("ja-JP")); // "2026/02/28"
DateTimeOffset
タイムゾーン対応の日付にはDateTimeOffsetを使用:
DateTimeOffset dto = new DateTimeOffset(2026, 2, 28, 14, 30, 0,
TimeSpan.FromHours(9));
dto.ToString("yyyy-MM-ddTHH:mm:sszzz"); // "2026-02-28T14:30:00+09:00"
ユースケース
C# DateTimeフォーマットはASP.NET Web APIレスポンス、Entity Frameworkクエリ結果、Windows Forms/WPF UIバインディング、Azure Functionsロギング、Blazorコンポーネントレンダリング、NLog/Serilogログ出力パターン、.NET MAUIモバイルアプリの日付表示で使用されます。