C# で DateTime を生成する
DateTime は C# で日付と時刻を扱う最も基本的な構造体です。様々な方法でインスタンスを生成できます。
コンストラクタで生成する
年月日や時分秒を指定して DateTime を生成します。
// 年月日を指定
DateTime date1 = new DateTime(2024, 12, 25);
// 年月日時分秒を指定
DateTime date2 = new DateTime(2024, 12, 25, 14, 30, 45);
// ミリ秒まで指定
DateTime date3 = new DateTime(2024, 12, 25, 14, 30, 45, 500);月は 1〜12、日は 1〜31 の範囲で指定します。範囲外の値を渡すと ArgumentOutOfRangeException が発生します。
静的プロパティで現在時刻を取得する
現在の日時を取得するには Now または UtcNow を使います。
// ローカル時刻
DateTime now = DateTime.Now;
// UTC 時刻
DateTime utcNow = DateTime.UtcNow;
// 今日の日付(時刻は 00:00:00)
DateTime today = DateTime.Today;Now はシステムのタイムゾーンに基づいたローカル時刻を返します。サーバーアプリケーションでは UtcNow を使うのが一般的です。
特殊な値
DateTime には最小値と最大値を表す定数があります。
DateTime min = DateTime.MinValue; // 0001/01/01 00:00:00
DateTime max = DateTime.MaxValue; // 9999/12/31 23:59:59これらは初期値や未設定を表すセンチネル値として使われることがあります。ただし、null 許容型の DateTime? を使う方が意図が明確になる場合も多いです。