Tengo algunos archivos de registro con horas en el formato HH: MM :: SS.nano_seconds (por ejemplo, 01: 02: 03.123456789). Me gustaría crear una fecha y hora en python para que pueda hacer las matemáticas en el tiempo (por ejemplo, tomar diferencias de tiempo). strptime funciona bien para microsegundos usando% f. ¿Los módulos de fecha y hora de Python realmente no admiten nanosegundos?Análisis de cadenas de fecha y hora que contienen nanosegundos
Respuesta
Puede ver from the source que los objetos de fecha y hora no admiten nada más fino que microsegundos. Como señaló Mike Pennington en los comentarios, esto es porque actual hardware clocks aren't nearly that precise. Wikipedia dice que HPET tiene frecuencia "al menos 10 MHz", lo que significa un tic por cada 100 nanosegundos.
Si puede vivir arrojando los últimos tres dígitos (que de todos modos no son demasiado significativos), puede analizar esto simplemente cortando la cadena de entrada para tener solo seis dígitos después del punto decimal y analizando con %f
. De lo contrario, parece que tendrás que implementar la resta tú mismo.
Gracias. Eso es lo que sospechaba. – user1332148
El reloj del sistema no es la única fuente de tiempo con la que se puede usar datetime y timedelta. Es molesto (al borde de la idiotez miope) que no se implementen utilizando nsecs en lugar de usecs. – travc
@travc: Hay un problema de CPython abierto: [el módulo de fecha y hora no admite nanosegundos] (https://bugs.python.org/issue15443) – jfs
- 1. Lua ISO 8601 patrón de análisis de fecha y hora
- 2. ¿Por qué este análisis de fecha y hora siempre falla?
- 3. ActiveRecord cadena de análisis a fecha y hora?
- 4. Problema al leer celdas de Excel que contienen fecha y hora en VBA
- 5. Análisis de cadenas y clasificación
- 6. cadenas de fecha y hora al analizar con microsegundos
- 7. conversión de cadenas a la fecha y hora javascript
- 8. de fecha y hora
- 9. C++ fecha y hora
- 10. Cadena de fecha y hora de análisis con nombre abreviado de zona horaria en Python?
- 11. Analizar los valores de fecha/hora del lenguaje natural en cadenas de fecha/hora formateadas
- 12. Javascript Comparar fecha y hora
- 13. Formato de fecha y hora
- 14. Parche de fecha y hora en Python ...?
- 15. Makefile: Filtrar cadenas que contienen un carácter
- 16. Python 3: fecha y hora a fecha y hora: ¿de dónde viene esta hora adicional?
- 17. Compilar fecha y hora
- 18. Lectura de csv con fecha y hora
- 19. Obtener Fecha y hora actual y el tiempo con [fecha NSDate] fecha y hora
- 20. Fecha de análisis como 1240915075
- 21. marca de tiempo y fecha y hora
- 22. Selector de fecha y hora: configuración de la fecha y hora de apertura
- 23. Análisis de cadenas DateTime
- 24. pitón de localización de fecha y hora
- 25. Django grupo de modelos por fecha de fecha y hora
- 26. Formato Excepción: fecha y hora
- 27. Fecha y hora en Groovy
- 28. DateTimePicker: elegir fecha y hora
- 29. Fecha y hora en java
- 30. Java: clases JPA, refactorización de Fecha de Fecha y hora
posible duplicado de [¿Obtener tiempo POSIX/Unix en segundos y nanosegundos en Python?] (Http://stackoverflow.com/questions/2394485/get-posix-unix-time-in-seconds-and-nanoseconds-in -python) –
@MikePennington Esa pregunta se refiere a obtener un tiempo de reloj con nanosegundos, no analizarlos y hacer cálculos matemáticos independientemente de un reloj real. – Dougal
@Dougal, la pregunta es muy relevante ya que señalan que la precisión de tiempo en nanosegundos requiere soporte de plataforma, y la mayoría no. En esa pregunta, también se discute el formato de cadenas de nanosegundos –