Estoy buscando cómo formatear el tiempo, incluso microsegundos. Estoy usando la clase DateTime, que permite (usando propiedades) obtener datos hasta milisegundos, que no es enougth. Intenté usar Ticks, pero no sabía cómo traducirlo a microsegundos.C# tiempo en microsegundos
Respuesta
Puede utilizar "ffffff"
en una cadena de formato para representar microsegundos:
Console.WriteLine(DateTime.Now.ToString("HH:mm:ss.ffffff"));
Para convertir un número de garrapatas a microsegundos, sólo tiene que utilizar:
long microseconds = ticks/(TimeSpan.TicksPerMillisecond/1000);
Si estos no le ayudan, por favor brinde más información acerca de lo que está tratando de hacer exactamente.
EDIT: originalmente multiplica ticks
por 1000 para evitar la pérdida de precisión cuando se divide por TimeSpan.TicksPerMillisecond
1000. Sin embargo, resulta que el TicksPerMillisecond
es en realidad un valor constante de 10.000 - para que pueda dividir por 1000 sin ningún problema, y en hecho que podríamos simplemente usar:
const long TicksPerMicrosecond = 10;
...
long microseconds = ticks/TicksPerMicrosecond;
Utilicé las dos opciones, el problema es que siempre obtengo los microsegundos cero. Parece que no puede obtener la resolución de eso. –
Entonces eso no es un problema de formateo, es un problema de resolución. ¿De dónde estás obteniendo los datos para empezar? Si estás tratando de calcular cuánto tiempo lleva algo, debes utilizar la clase 'Cronómetro'. –
No. Solo lo necesito para el registrador. Para cada evento en el sistema, ingresé al principio el momento en que sucedió. ¿Alguna sugerencia? –
"ffffff" es lo que necesita.
return DateTime.Now.ToString("HH:mm:ss.ffffff");
Lo usé, el problema es que siempre imprime cero en los microsegundos, como que no lo calcula. –
Esto no es un problema con el formateo, este es un problema con la precisión de DateTime.Now. Intenta usar System.Diagnostics.Stopwatch. –
Lo probé con otra ventana (la mía es vista) y la resolución de los micrseconds –
No he podido obtener la conversión de Johns tick to micorosecond al trabajo. Así es como yo era capaz de medir microsegundo y la resolución de nanosegundos mediante el uso de las garrapatas y el cronómetro:
Stopwatch sw = new Stopwatch();
sw.Start();
// Do something you want to time
sw.Stop();
long microseconds = sw.ElapsedTicks/(Stopwatch.Frequency/(1000L*1000L));
long nanoseconds = sw.ElapsedTicks/(Stopwatch.Frequency/(1000L*1000L*1000L));
Console.WriteLine("Operation completed in: " + microseconds + " (us)");
Console.WriteLine("Operation completed in: " + nanoseconds + " (ns)");
sw.Elapsed.TotalMilliseconds es agradable. Luego divide por 1000 para obtener microsegundos. – rocketsarefast
Esto no es del todo correcto, porque (Cronómetro.Frecuencia/(1000L * 1000L)) siendo un valor largo deja todo después de un decimal por ejemplo si el resultado de la ecuación en la línea de arriba (de mi comentario) es 2.8576 que es técnicamente 3 pero sw.ElapsedTicks se dividirá entre 2, no 2.8 o 3, lo cual es totalmente incorrecto. – user2913184
- 1. log4j ConversionPattern marca de tiempo con microsegundos
- 2. convertir microsegundos en un tiempo legible por humanos
- 3. perfilador de microsegundos para el código C
- 4. Retardo de tiempo en C#
- 5. C ¿Obtenga la precisión del sistema a microsegundos en ventanas?
- 6. Almacenamiento de microsegundos en MySQL: ¿qué solución?
- 7. Tiempo de microsegundo actual en C?
- 8. cómo obtener el tiempo de carga en milisegundos o microsegundos en MySQL
- 9. tiempo de retraso en C. usleep
- 10. linux time command microsegundos o mejor precisión
- 11. Cómo calcular el tiempo de una operación en microsegundos de precisión
- 12. ¿Cómo puedo medir el tiempo con microsegundos de precisión en Java?
- 13. cómo obtener un reloj de tiempo real en C#?
- 14. ¿Se garantiza gettimeofday() una resolución de microsegundos?
- 15. Tiempo de microsegundo en JavaScript
- 16. cadenas de fecha y hora al analizar con microsegundos
- 17. ¿Por qué MySQL no admite milisegundos/microsegundos de precisión?
- 18. Tiempo de C++ chrono system en milisegundos, operaciones de tiempo
- 19. burlarse en tiempo de ejecución en C?
- 20. ¿Cómo puedo encontrar el tiempo de ejecución de una sección de mi programa en C?
- 21. tiempo de compilación en C trigonometría
- 22. Obtenga tiempo estándar indio (IST) en C#?
- 23. Reflejo de tiempo de compilación en C#
- 24. serialización de tiempo de diseño en C#
- 25. Obtenga tiempo en milisegundos usando C#
- 26. Escriba "Tiempo" en SQL Server y C#
- 27. TimeSpan formato de "tiempo bonito" en C#
- 28. Desinfección en tiempo real del código C
- 29. Com + enlace en tiempo de C# 4.0
- 30. Mida el tiempo de ejecución en C#
tener cuidado con DateTime.Now, no es exacta al microsegundo. Pruebe System.Diagnostics.Stopwatch para tomar el tiempo. También asegúrese de tener un reloj de sistema de alta resolución. –
Sí, tienes razón. Me tomó tiempo entender este comentario. Aunque presenta el tiempo en microsegundos, el tiempo no está en microsegundos. –