DateTime
DateTimeOffset
の最小単位は 100 ナノ秒だそうです。
この最小単位は Tick
というプロパティで取得できます。
つまり、1Tick が 100 ナノ秒に相当します。
サンプルコード
var begin = DateTime.Today;
var end = DateTime.Today.AddDays(1).AddTicks(-1);
Console.WriteLine("[Begin] " + begin.ToString("yyyy/MM/dd HH:mm:ss:fffffff"));
Console.WriteLine("[End] " + end.ToString("yyyy/MM/dd HH:mm:ss:fffffff"));
実行結果
[Begin] 2019/03/29 00:00:00:0000000
[End] 2019/03/29 23:59:59:9999999
日時の範囲指定
上記を踏まえると、DateTime
DateTimeOffset
の比較において、以下は等価と言えます。
var begin = DateTime.Today;
var end = DateTime.Today.AddDays(1);
if(begin < AnyDate && AnyDate < end)
{
// Do Something
}
var begin = DateTime.Today.AddTicks(1);
var end = DateTime.Today.AddDays(1).AddTicks(-1);
if(begin <= AnyDate && AnyDate <= end)
{
// Do Something
}