как конвертировать из prtime в .net datetime

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

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


person Vitor Silva    schedule 11.09.2008    source источник


Ответы (2)


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);
}
person Community    schedule 11.09.2008

person    schedule
comment
мне пришлось изменить prDateTime.AddMilliseconds(prTimeInMillis) на prDateTime = prDateTime.AddMilliseconds(prTimeInMillis), чтобы получить правильное значение - person Vitor Silva; 11.09.2008