Вопрос

Я хочу преобразовать число, которое находится в PRTime формат (64-битное целое число, представляющее количество микросекунд с полуночи (00:00:00) 1 января 1970 года по всемирному координированному времени (UTC)) в DateTime.

Обратите внимание, что это немного отличается от обычного «количества миллисекунд с 01.01.1970».

Это было полезно?

Решение

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);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top