2009-08-17 10 views
6

Estoy tratando de convertir un objeto datetime en una marca de tiempo UNIX (preferiblemente en milisegundos, aunque no me importaría con y sin).'datetime.time' no tiene 'mktime'

mktime parece ser el método que generalmente lo consigue, sin embargo sigo obteniendo el error:

AttributeError: tipo de objeto 'datetime.time' no tiene atributo 'mktime'.

¿Alguien puede decirme qué estoy haciendo mal? ¡Sigo dando vueltas en círculos!

+1

Muestra de código, por favor ... – Kieron

+0

Objeto de fecha y hora estándar. Estoy usando este código: .. time.mktime (datetimeobject.timetuple()) .. Además de una gran cantidad de variación. – Federer

+0

@malcmcmul: Por favor, no comentes tu propia pregunta. Por favor, edite la pregunta en sí. –

Respuesta

20

creo que haya hecho

from datetime import datetime, time 

en lugar de

import time 
from datetime import datetime 

de modo que el objeto llamado time en realidad proviene del módulo de fecha y hora, no el módulo de tiempo.

+0

muchas gracias. solo otra pregunta sin embargo. ¿cómo incluyo milisegundos en la marca de tiempo de retorno? – Federer

+2

'time.mktime (datetimeobject.timetuple()) + datetimeobject.microsecond/1000000.0' –

1

En realidad, incluso usando la respuesta anterior, sigo recibiendo el mismo mensaje de error.

he resuelto mi problema utilizando

>>>>from time import mktime as mktime 
>>>>today = mktime(2012, 12, 21, 0, 0, 0, 0, 0, 0) 

No sé el por qué, pero, que sólo funcionaba utilizando el alias (como mktime) ... puede alguien decirme la razón ...

+0

deberías publicar eso como una nueva pregunta. – mtk

Cuestiones relacionadas