PRTime形式の数値(1970 年 1 月 1 日の協定世界時 (UTC) の午前 0 時 (00:00:00) からのマイクロ秒数を表す 64 ビット整数) をDateTime
.
これは、通常の「1970 年 1 月 1 日からのミリ秒数」とは少し異なることに注意してください。
Dim prTimeInMillis as UInt64
prTimeInMillis = prTime/1000
dim prDateTime as new DateTime(1970, 1, 1)
prDateTime = prDateTime.AddMilliseconds(prTimeInMillis)
DateTime には、ティック (100 ナノ秒) を受け取るコンストラクターがあります。
したがって、prTime に 10 を掛けて、エポック時間を表すティック数に加算すると、変換が行われます。
private static DateTime epoch = new DateTime(1970, 1, 1);
private static DateTime ConvertPrTime(long time)
{
return new DateTime(epoch.Ticks + (time*10), DateTimeKind.Utc);
}