2008-09-11 19 views
0

Je souhaite convertir un nombre au format PRTime (un entier de 64 bits représentant le nombre de microsecondes écoulées depuis minuit (00:00:00) 1 janvier 1970 Temps universel coordonné (UTC)) à un datetime.comment convertir un pretime en .net datetime

Notez que cela est différent de l'habituel « nombre de millisecconds depuis le 1/1/1970 »

Répondre

2
Dim prTimeInMillis as UInt64 
prTimeInMillis = prTime/1000 

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

je devais changer prDateTime.AddMilliseconds (prTimeInMillis) à prDateTime = prDateTime.AddMilliseconds (prTimeInMillis) pour obtenir la valeur correcte –

0

DateTime a un constructeur qui prend Tiques (qui sont 100nanoseconds).

Alors prenez votre temps multipliez-le par 10 et ajoutez-le au nombre de ticks représentant l'heure de l'époque et vous avez votre conversion.

private static DateTime epoch = new DateTime(1970, 1, 1); 
private static DateTime ConvertPrTime(long time) 
{ 
    return new DateTime(epoch.Ticks + (time*10), DateTimeKind.Utc); 
}