2009-08-17 2 views
6

Sto provando a convertire un oggetto datetime in un timestamp UNIX (preferibilmente in millisecondi, anche se non mi dispiacerebbe con e senza).'datetime.time' non ha 'mktime'

mktime sembra essere il metodo che di solito ottiene, però continuo a ricevere l'errore:

AttributeError: tipo di oggetto 'datetime.time' non ha l'attributo 'mktime'.

Qualcuno può dirmi cosa sto facendo male? Continuo a girare in tondo!

+1

Esempio di codice per favore ... – Kieron

+0

Oggetto orario di data standard. Sto usando questo codice: .. time.mktime (datetimeobject.timetuple()) .. Così come un sacco di variazione. – Federer

+0

@malcmcmul: per favore non commentare la tua stessa domanda. Si prega di modificare la domanda stessa. –

risposta

20

penso che hai fatto

from datetime import datetime, time 

invece di

import time 
from datetime import datetime 

in modo che l'oggetto chiamato time è in realtà provenienti dal modulo datetime, non il modulo di tempo.

+0

grazie mille. solo un'altra domanda però. Come faccio a includere i millisecondi nella data/ora di restituzione? – Federer

+2

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

1

In realtà, anche utilizzando la risposta sopra, ho ancora lo stesso messaggio di errore.

Ive risolto il problema utilizzando

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

Non so il perché, ma, ha funzionato solo con l'alias (come mktime) ... qualcuno può dirmi il motivo ...

+0

dovresti postarlo come una nuova domanda. – mtk