時刻が不要で、今日の日付のみを取得したい場合は、Todayプロパティを参照します。 Todayプロパティでは、時刻部分が 0時0分0秒(日付変更直後) の値が返されます。 また、Nowプロパティと同様に返される日時はローカル時刻となります。
なお、DateTimeOffsetにはTodayプロパティは存在しません。 コンストラクタで日付のみを指定してインスタンスを作成する必要があります。 もしくは、DateTimeOffset.Nowプロパティで現在日時を取得した後、Dateプロパティで日付のみを取得すれば今日の日付が得られますが、Dateプロパティで得られる値の型はDateTimeとなります。
DateTime.Todayプロパティで現在日時を取得する
using System;
class Sample {
static void Main()
{
// 今日の日付を取得する
Console.WriteLine(DateTime.Now);
Console.WriteLine(DateTime.Today);
Console.WriteLine(DateTimeOffset.Now.Date); // DateTime.Todayと同じ値になる
Console.WriteLine();
// DateTimeOffsetで今日の日付(DateTime.Todayに相当する値)を取得する
var today = new DateTimeOffset(DateTime.Today, DateTimeOffset.Now.Offset);
Console.WriteLine(DateTimeOffset.Now);
Console.WriteLine(today);
}
}
実行結果例
2013/04/01 15:00:30 2013/04/01 0:00:00 2013/04/01 0:00:00 2013/04/01 15:00:30 +09:00 2013/04/01 0:00:00 +09:00