Pergunta

Eu quero converter um número que está em PRTime formato (um inteiro de 64 bits que representa o número de segundos desde a meia-noite (00:00:00) de 1 de janeiro de 1970 Hora Universal Coordenada (UTC)) para um DateTime.

Note que este é um pouco diferente do habitual "o número de milissegundos desde 1/1/1970"

Foi útil?

Solução

Dim prTimeInMillis as UInt64
prTimeInMillis = prTime/1000

dim prDateTime as new DateTime(1970, 1, 1)
prDateTime = prDateTime.AddMilliseconds(prTimeInMillis)

Outras dicas

DateTime tem um construtor que recebe Carrapatos (que são 100nanoseconds).

Então pegue a sua prTime multiplique por 10 e adicione-o número de carrapatos que representa a Época de tempo e terá a sua conversão.

private static DateTime epoch = new DateTime(1970, 1, 1);
private static DateTime ConvertPrTime(long time)
{
    return new DateTime(epoch.Ticks + (time*10), DateTimeKind.Utc);
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top