2012-05-19 3 views
6

Я пытаюсь преобразовать долго до даты:Python преобразовать длинный на сегодняшний день

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

Но у меня есть странная ошибка:

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 

Почему жалуясь, когда я явно брось держаться на плаву? Длинная временная метка Unix хранится как long в mysql.

ответ

8

Что вам нужно, это просто datetime.datetime.fromtimestamp(myNumber).strftime('%Y-%m-%d %H:%M:%S'), как time.ctime() возвращает строку:

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

time.ctime() дает строковое представление времени.

он должен работать с:

datetime.datetime.fromtimestamp(myNumber).strftime('%Y-%m-%d %H:%M:%S') 
Смежные вопросы