как преобразовать prtime в .net datetime
Вопрос
Я хочу преобразовать число, которое находится в 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);
}
Не связан с StackOverflow