UnixEpochフィールドを参照することにより、unix epochをDateTimeOffsetまたはDateTimeの値で取得することができます。 どちらもunix epochの日時である1970年01月01日 午前00時00分00秒(UTC)の値を返します。 つまり、DateTimeOffsetではOffsetプロパティが00:00
、DateTimeではKindプロパティがDateTimeKind.Utc
の値を返します。 UnixEpochフィールドは、ある日時がunix epoch以前かどうかを比較するといった場合に用いることができます。
DateTimeOffset/DateTime.UnixEpochフィールドは、NET Standard 2.1/.NET Core 2.1以降で使用することができます。
DateTime/DateTimeOffset.UnixEpochフィールドを参照してunix epochの日時を取得する .NET Standard 2.1/.NET Core 2.1
Imports System
Class Sample
Shared Sub Main()
' unix epochをDateTimeOffset/DateTimeの値で取得する
Console.WriteLine(DateTimeOffset.UnixEpoch)
Console.WriteLine($"{DateTime.UnixEpoch} ({DateTime.UnixEpoch.Kind})")
Console.WriteLine()
' 日時がunix epochより前のものかどうか調べる
Dim dto As New DateTimeOffset(1969, 7, 20, 20, 17, 39, TimeSpan.Zero)
If dto < DateTimeOffset.UnixEpoch Then
Console.WriteLine($"{dto}はunix epochより前の日時です")
End If
End Sub
End Class
実行結果
1970/01/01 0:00:00 +00:00 1970/01/01 0:00:00 (Utc) 1969/07/20 20:17:39 +00:00はunix epochより前の日時です