2012-05-19 25 views
6

Estoy tratando de convertir un tiempo para una fecha:Python convertir larga hasta la fecha

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')) 

pero tengo un error extraño:

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 

¿Por qué se quejan cuando explícitamente eché ¿flotar? The long es una marca de tiempo Unix almacenada como larga en mysql.

Respuesta

8

Lo que se necesita es simplemente datetime.datetime.fromtimestamp(myNumber).strftime('%Y-%m-%d %H:%M:%S') como time.ctime() devuelve una cadena:

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

time.ctime() le ofrece la representación de cadena de la hora.

que debería funcionar con:

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