2012-05-19 22 views
6

Sto cercando di convertire un lungo per una data:Python convertire lungo fino ad oggi

class timeStamp(object): 
    def getDateTime(self,longDate):                                 
     myNumber = float(longDate) 
     return str(datetime.datetime.fromtimestamp(time.ctime(myNumber)).strftime('%Y-%m-%d %H:%M:%S')) 

Ma ho un errore di strano:

File "./index.py", line 104, in getDateTime 
    return str(datetime.datetime.fromtimestamp(time.ctime(myNumber)).strftime('%Y-%m-%d %H:%M:%S')) 
TypeError: a float is required 

Perché è lamentano quando sono esplicitamente giuso galleggiare? Il lungo è un timestamp Unix memorizzato come un lungo in mysql.

risposta

8

Quello che vi serve è semplicemente datetime.datetime.fromtimestamp(myNumber).strftime('%Y-%m-%d %H:%M:%S') come time.ctime() restituisce una stringa:

>>> time.ctime() 
'Sat May 19 13:46:09 2012' 
9

time.ctime() fornisce la rappresentazione in formato stringa dell'ora.

dovrebbe funzionare con:

datetime.datetime.fromtimestamp(myNumber).strftime('%Y-%m-%d %H:%M:%S') 
Problemi correlati