c# - Zeit in Millisekunden mit C # abrufen



3 Answers

long milliseconds = DateTime.Now.Ticks / TimeSpan.TicksPerMillisecond;

So werden die verschiedenen Unix-Konvertierungsmethoden in der DateTimeOffset Klasse implementiert (.NET Framework 4.6+, .NET Standard 1.3+):

long milliseconds = DateTimeOffset.Now.ToUnixTimeMilliseconds();
c# datetime milliseconds time-precision

Ich mache ein Programm, in dem ich die Zeit in Millisekunden bekommen muss. Mit der Zeit meine ich eine Zahl, die niemals sich selbst gleicht und immer 1000 Nummern größer ist als vor einer Sekunde. Ich habe versucht, DateTime.Now zu einem DateTime.Now zu TimeSpan und die TotalMilliseconds davon zu bekommen ... aber ich habe gehört, dass es nicht vollkommen genau ist.

Gibt es einen einfacheren Weg dies zu tun?




Sie können die QueryPerformanceCounter Methode QueryPerformanceCounter ausprobieren. Weitere Informationen finden Sie unter http://www.pinvoke.net/default.aspx/kernel32/QueryPerformanceCounter.html . Dies ist, was die Stopwatch Klasse verwendet.

Siehe Wie erhält man den Zeitstempel der Tick-Genauigkeit in .NET / C #? für mehr Informationen.

Stopwatch.GetTimestamp() gibt Zugriff auf diese Methode:

public static long GetTimestamp() {
     if(IsHighResolution) {
         long timestamp = 0;
         SafeNativeMethods.QueryPerformanceCounter(out timestamp);
         return timestamp;
     }
     else {
         return DateTime.UtcNow.Ticks;
     }
 }



Ich habe DateTime.Now.TimeOfDay.TotalMilliseconds (für den aktuellen Tag) verwendet, hoffe, es hilft Ihnen auch.






Related