また、DateTime・DateTimeOffsetで扱える日時の精度は100ナノ秒となっています。 Ticksプロパティを参照すると、日時を100ナノ秒単位での値で取得することができます。
コンストラクタでも100ナノ秒単位の値を指定する事ができ、最小値である0001年1月1日 0時0分0秒に指定した値を加えた値がインスタンスの表す日時となります。
DateTime/DateTimeOffset.Ticksプロパティで100ナノ秒単位の値を取得する
Imports System
Class Sample
Shared Sub Main()
Console.WriteLine("[DateTime]")
Console.WriteLine(DateTime.MinValue.Ticks)
Console.WriteLine(DateTime.MaxValue.Ticks)
' 30,000,000 × 100ナノ秒 = 3秒
Console.WriteLine(New DateTime(30000000))
Console.WriteLine()
Console.WriteLine("[DateTimeOffset]")
Console.WriteLine(DateTimeOffset.MinValue.Ticks)
Console.WriteLine(DateTimeOffset.MaxValue.Ticks)
' 30,000,000 × 100ナノ秒 = 3秒
Console.WriteLine(New DateTimeOffset(30000000, TimeSpan.Zero))
End Sub
End Class
実行結果例
[DateTime] 0 3155378975999999999 0001/01/01 0:00:03 [DateTimeOffset] 0 3155378975999999999 0001/01/01 0:00:03 +00:00