2012-05-19 9 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 

は、なぜそれが不平を言っているの浮く? longは、mysqlのlong型として保存されたUnixタイムスタンプです。

答えて

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