2009-08-17 7 views
6

J'essaie de convertir un objet datetime en un horodatage UNIX (de préférence en millisecondes, bien que cela ne me dérange pas avec et sans).'datetime.time' n'a pas 'mktime'

mktime semble être la méthode qui obtient habituellement, mais je continue à obtenir l'erreur:

AttributeError: objet de type « datetime.time » n'a pas d'attribut « mktime ».

Quelqu'un peut-il me dire ce que je fais mal? Je continue à tourner en rond!

+1

Exemple de code s'il vous plaît ... – Kieron

+0

Objet de date et d'heure standard. J'utilise ce code: .. time.mktime (datetimeobject.timetuple()) .. Outre beaucoup de variation. – Federer

+0

@malcmcmul: S'il vous plaît ne pas commenter sur votre propre question. S'il vous plaît modifier la question elle-même. –

Répondre

20

Je pense que vous avez fait

from datetime import datetime, time 

au lieu de

import time 
from datetime import datetime 

afin que l'objet appelé time est en réalité à venir du module datetime, pas le module de temps.

+0

merci beaucoup. juste une autre question cependant. Comment puis-je inclure des millisecondes à l'horodatage de retour? – Federer

+2

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

1

En fait, même en utilisant la réponse ci-dessus, j'ai toujours le même message d'erreur.

Ive a résolu mon problème en utilisant

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

Je ne sais pas pourquoi, mais il ne fonctionnait en utilisant l'alias (comme mktime) ... quelqu'un peut me dire la raison ...

+0

Vous devriez publier cela comme une nouvelle question. – mtk

Questions connexes