我想将PRTime格式的数字(一个 64 位整数,表示自 1970 年 1 月 1 日协调世界时 (UTC) 午夜 (00:00:00) 以来的微秒数)转换为DateTime
.
请注意,这与通常的“自 1970 年 1 月 1 日以来的毫秒数”略有不同
Dim prTimeInMillis as UInt64
prTimeInMillis = prTime/1000
dim prDateTime as new DateTime(1970, 1, 1)
prDateTime = prDateTime.AddMilliseconds(prTimeInMillis)
DateTime 有一个构造函数,它采用 Ticks(100 纳秒)。
因此,将您的 prTime 乘以 10 并将其添加到代表 Epoch 时间的刻度数上,您就有了转换。
private static DateTime epoch = new DateTime(1970, 1, 1);
private static DateTime ConvertPrTime(long time)
{
return new DateTime(epoch.Ticks + (time*10), DateTimeKind.Utc);
}