C# で日付や時刻を扱う際には DateTime
構造体を利用します。DateTime
を使うことで現在日時の取得、日付の計算、文字列への変換などが簡単に行えます。本記事では DateTime
の基本的な使い方を解説します。
現在の日時を取得する
現在の日時を取得するには DateTime.Now
を使います。UTC(協定世界時)が必要な場合は DateTime.UtcNow
を利用します。
using System;
class Program
{
static void Main()
{
DateTime now = DateTime.Now;
Console.WriteLine(now); // 現在のローカル日時
Console.WriteLine(DateTime.UtcNow); // 現在のUTC日時
}
}
特定の日付を生成する
年・月・日を指定して DateTime
オブジェクトを生成できます。時刻まで指定することも可能です。
DateTime date1 = new DateTime(2025, 8, 28);
DateTime date2 = new DateTime(2025, 8, 28, 14, 30, 0);
Console.WriteLine(date1); // 2025/08/28 0:00:00
Console.WriteLine(date2); // 2025/08/28 14:30:00
日付や時刻の要素を取得する
DateTime
から年・月・日・時刻の情報を取り出せます。
DateTime now = DateTime.Now;
Console.WriteLine(now.Year); // 年
Console.WriteLine(now.Month); // 月
Console.WriteLine(now.Day); // 日
Console.WriteLine(now.Hour); // 時
Console.WriteLine(now.Minute); // 分
Console.WriteLine(now.Second); // 秒
日付の計算
AddDays
や AddMonths
を使うことで、日付を簡単に計算できます。
DateTime today = DateTime.Today;
DateTime tomorrow = today.AddDays(1);
DateTime nextMonth = today.AddMonths(1);
Console.WriteLine(tomorrow); // 翌日
Console.WriteLine(nextMonth); // 翌月
文字列への変換とフォーマット
ToString
に書式を指定すると、好きな形で日付や時刻を文字列に変換できます。
DateTime now = DateTime.Now;
Console.WriteLine(now.ToString("yyyy/MM/dd")); // 2025/08/28
Console.WriteLine(now.ToString("HH:mm:ss")); // 14:35:20
Console.WriteLine(now.ToString("yyyy年MM月dd日 HH時mm分")); // 日本語フォーマット
日付の比較
DateTime
は比較演算子を使って大小関係を判定できます。
DateTime d1 = new DateTime(2025, 8, 28);
DateTime d2 = new DateTime(2025, 9, 1);
if (d1 < d2)
{
Console.WriteLine("d1 は d2 より前の日付です");
}
まとめ
C# の DateTime
を使えば、日付や時刻に関する処理を簡単に行えます。
DateTime.Now
で現在日時を取得- コンストラクタで特定の日付・時刻を生成
- プロパティで年月日時分秒を取得
AddDays
・AddMonths
で日付計算ToString
で自由なフォーマットに変換
日付や時刻は多くのアプリケーションで不可欠な要素です。DateTime
の基本を理解することで、スケジュール管理やログ処理などに応用できるようになります。