Domanda

Voglio convertire un numero in PRTime formato (un numero intero a 64 bit che rappresenta il numero di microsecondi dalla mezzanotte (00:00:00) del 1° gennaio 1970 Coordinated Universal Time (UTC)) in un DateTime.

Tieni presente che questo è leggermente diverso dal solito "numero di millisecondi dal 1/1/1970"

È stato utile?

Soluzione

Dim prTimeInMillis as UInt64
prTimeInMillis = prTime/1000

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

Altri suggerimenti

DateTime ha un costruttore che accetta Ticks (che sono 100 nanosecondi).

Quindi prendi il tuo prTime moltiplicalo per 10 e aggiungilo al numero di tick che rappresentano il tempo dell'Epoca e avrai la tua conversione.

private static DateTime epoch = new DateTime(1970, 1, 1);
private static DateTime ConvertPrTime(long time)
{
    return new DateTime(epoch.Ticks + (time*10), DateTimeKind.Utc);
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top