Estoy haciendo un programa en el que necesito obtener el tiempo en milisegundos. Por tiempo, me refiero a un número que nunca es igual a sí mismo, y siempre es 1000 números más grande que hace un segundo. He intentado convertir DateTime.Nowa ay TimeSpanobtener TotalMillisecondseso ... pero he oído que no es perfectamente exacto.
¿Hay una manera más fácil de hacer esto?
c#
datetime
milliseconds
time-precision
Entidad
fuente
fuente

Respuestas:
Usa la
Stopwatchclase.Hay buena información sobre cómo implementarlo aquí:
Pruebas de rendimiento: mediciones precisas del tiempo de ejecución con System.Diagnostics.Stopwatch
fuente
Así es como se implementan los diversos métodos de conversión de Unix en la
DateTimeOffsetclase (.NET Framework 4.6+, .NET Standard 1.3+):fuente
DateTime.Nowno se "actualiza" muy a menudo), por supuesto, usedecimal milliseconds = DateTime.Now.Ticks / (decimal)TimeSpan.TicksPerMillisecond;en su lugar.longtipo de datos frente a milisegundos. El usointciertamente se desbordará.La
DateTime.Tickspropiedad obtiene el número de ticks que representan la fecha y la hora.10,000 ticks es un milisegundo (10,000,000 ticks por segundo).
fuente
A single tick represents one hundred nanoseconds or one ten-millionth of a second. There are 10,000 ticks in a millisecond.Yo uso la siguiente clase. Lo encontré en Internet una vez, postulado para ser el mejor AHORA () .
Fuente desconocida
fuente
Puedes probar el
QueryPerformanceCountermétodo nativo. Consulte http://www.pinvoke.net/default.aspx/kernel32/QueryPerformanceCounter.html para obtener más información. Esto es lo queStopwatchusa la clase.Consulte ¿Cómo obtener la marca de tiempo de precisión de marca en .NET / C #? para más información.
Stopwatch.GetTimestamp()da acceso a este método:fuente
Stopwatch.GetTimestamp()realmente proporciona acceso a ese método.Utilicé DateTime.Now.TimeOfDay.TotalMilliseconds (para el día actual), espero que también te ayude.
fuente
Uso
System.DateTime.Now.ToUniversalTime(). Eso coloca su lectura en un formato de milisegundos basado en referencias conocido que elimina totalmente el cambio de día, etc.fuente