C#のDateTime.ToString("書式")
では、カスタム書式指定文字列を使って日時を文字列に変換できます。以下に主な書式指定文字列を示します。
日付に関する書式
書式文字列 | 説明 | 例 (2024-12-09 ) |
---|
yyyy | 西暦の4桁 | 2024 |
yy | 西暦の下2桁 | 24 |
MMMM | 月のフルスペル | December |
MMM | 月の省略形 | Dec |
MM | 月を2桁 | 12 |
M | 月を1~2桁 | 12 |
dddd | 曜日のフルスペル | Monday |
ddd | 曜日の省略形 | Mon |
dd | 日を2桁 | 09 |
d | 日を1~2桁 | 9 |
時刻に関する書式
書式文字列 | 説明 | 例 (13:45:30 ) |
---|
HH | 24時間制の時を2桁 | 13 |
H | 24時間制の時を1~2桁 | 13 |
hh | 12時間制の時を2桁 | 01 |
h | 12時間制の時を1~2桁 | 1 |
mm | 分を2桁 | 45 |
m | 分を1~2桁 | 45 |
ss | 秒を2桁 | 30 |
s | 秒を1~2桁 | 30 |
tt | 午前/午後の表示 | PM |
日時区切り記号
書式文字列 | 説明 | 例 |
---|
/ | カスタム日付区切り記号 | システム設定依存 (/ ) |
: | カスタム時刻区切り記号 | システム設定依存 (: ) |
カスタム書式例
例1: 標準的な書式
DateTime now = DateTime.Now;
string result = now.ToString("yyyy-MM-dd HH:mm:ss");
Console.WriteLine(result);
// 出力例: 2024-12-09 13:45:30
例2: フォーマットを変更
DateTime now = DateTime.Now;
string result = now.ToString("MMMM d, yyyy (ddd)");
Console.WriteLine(result);
// 出力例: December 9, 2024 (Mon)
標準書式指定文字列
カスタム書式以外に、簡単な標準書式も利用可能です:
書式 | 説明 | 例 |
---|
d | 短い日付形式 | 12/9/2024 (ロケール依存) |
D | 長い日付形式 | Monday, December 9, 2024 |
t | 短い時刻形式 | 1:45 PM |
T | 長い時刻形式 | 1:45:30 PM |
f | 完全な日付と短い時刻形式 | Monday, December 9, 2024 1:45 PM |
F | 完全な日付と長い時刻形式 | Monday, December 9, 2024 1:45:30 PM |
g | 一般形式 (短い日付と短い時刻) | 12/9/2024 1:45 PM |
G | 一般形式 (短い日付と長い時刻) | 12/9/2024 1:45:30 PM |
o | ISO 8601形式 (ラウンドトリップ形式) | 2024-12-09T13:45:30.0000000 |
R | RFC1123形式 | Mon, 09 Dec 2024 13:45:30 GMT |
書式指定のカスタマイズ
必要な形式があれば、カスタム書式を組み合わせて自由に設計できます。