如何从prtime转换为.net datetime

时间:2020-03-05 18:51:28  来源:igfitidea点击:

我想将PRTime格式的数字(表示自1970年1月1日午夜(00:00:00)协调世界时(UTC)以来的微秒数)的PRTime格式转换为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,然后将其添加到代表纪元时间的刻度数中,便可以进行转换。

private static DateTime epoch = new DateTime(1970, 1, 1);
private static DateTime ConvertPrTime(long time)
{
    return new DateTime(epoch.Ticks + (time*10), DateTimeKind.Utc);
}