2008-09-11 14 views
0

Ich möchte eine Zahl konvertieren, die in PRTime Format ist (eine 64-Bit-Ganzzahl, die die Anzahl der Mikrosekunden seit Mitternacht (00:00:00) 1 Januar 1970 Coordinated Universal Time (UTC)) zu einem Datetime.Wie konvertiert man von prtime zu .net datetime

beachten Sie, dass diese als die üblichen „Anzahl der millisecconds seit 1.1.1970“

Antwort

2
Dim prTimeInMillis as UInt64 
prTimeInMillis = prTime/1000 

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

ich hatte prDateTime.AddMilliseconds (prTimeInMillis) zu prDateTime = prDateTime.AddMilliseconds (prTimeInMillis) bekommen den richtigen Wert zu ändern –

0

Datetime ist etwas anders als einen Konstruktor hat, die Ticks nimmt (die 100nanoseconds sind).

Also nehmen Sie Ihre prTime multiplizieren Sie es mit 10 und fügen Sie es zu der Anzahl der Ticks für die Epochenzeit und Sie haben Ihre Konvertierung.

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