He mirado por todas partes, y parece que hay muchos hacks, pero no formas simples, "buenas" de hacer esto. Quiero convertir un objeto Python datetime
en microtime como time.time()
returns (seconds.microseconds).Python datetime to microtime
¿Cuál es la mejor manera de hacerlo? Usando mktime()
elimina los microsegundos por completo, es posible que construya un timedelta
, pero eso no parece correcto. También podría usar un float(strftime("%s.%f"))
(que representa los segundos de redondeo correctamente), pero eso parece un súper truco.
¿Cuál es la forma "correcta" de hacer esto?
Si la zona horaria del objeto datetime y su zona horaria local pueden no ser las mismas, debe usar calendar.gmtime (dt.utctimetuple()) en su lugar –
Creo te refieres a 'calendar.timegm', y eso da la misma respuesta que la versión de Mark, lo que significa que es incorrecta para objetos que no sean UTC' datetime'. El tiempo desde la época para mí es el mismo que para alguien en UTC, no diferente para mi compensación UTC. – agf
Siempre es correcto independientemente de su zona horaria, ya que dt.utctimetuple devuelve la tupla de tiempo del objeto datetime en UTC. Y calendar.timegm toma utc timetuple. –