Estoy tratando de usar strftime () con precisión de microsegundos, lo que parece posible usando% f (como se indica aquí ). Sin embargo, cuando intento el siguiente código:
import time
import strftime from time
print strftime("%H:%M:%S.%f")... Obtengo la hora, los minutos y los segundos, pero% f se imprime como% f, sin signos de microsegundos. Estoy ejecutando Python 2.6.5 en Ubuntu, por lo que debería estar bien y% f debería ser compatible (es compatible con 2.6 y superior, hasta donde yo sé).

%zdatetimeapoya la%zdirectiva mientras que el tiempo no parece hacerlo .%zcon Python 3 :-) aquí está la fecha y la hora y luego la horafrom datetime import datetime. Si lo haceimport datetime, tendrá que usardatetime.datetime.now().strftime("%H:%M:%S.%f")Estás viendo la documentación incorrecta. El
timemódulo tiene documentación diferente .Puedes usar el
datetimemódulostrftimeasí:fuente
Con el
timemódulo de Python no se pueden obtener microsegundos%f.Para aquellos que todavía quieren ir
timesolo con el módulo, aquí hay una solución alternativa:Debería obtener algo como 2017-01-16 16: 42: 34.625 EET (sí, uso milisegundos, ya que es suficiente).
Para dividir el código en detalles, pegue el siguiente código en una consola de Python:
Para fines de aclaración, también pego mi resultado de Python 2.7.12 aquí:
fuente
Esto debería hacer el trabajo
Se imprimirá
HH:MM:SS.microsecondsasí por ejemplo14:38:19.425961fuente
También puede obtener una precisión de microsegundos del
timemódulo usando sutime()función.(
time.time()devuelve el tiempo en segundos desde epoch. Su parte fraccionaria es el tiempo en microsegundos, que es lo que desea).fuente
Cuando el "% f" de microsegundos no funciona, utilice el siguiente método:
fuente
Si quieres velocidad, prueba esto:
Dónde
precestá la precisión: cuántos lugares decimales desea. Tenga en cuenta que la función no tiene problemas con ceros a la izquierda en la parte fraccionaria como algunas otras soluciones presentadas aquí.fuente
Si quieres un número entero, prueba este código:
Salida:
fuente