Python将长整型转换为日期

10
我正在尝试将一个long类型的数值转换成日期格式:
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时间戳。
2个回答

14

time.ctime()会返回时间的字符串表示。

它应该可以与以下代码一起使用:

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

12

您需要的只是 datetime.datetime.fromtimestamp(myNumber).strftime('%Y-%m-%d %H:%M:%S'),因为 time.ctime() 返回一个字符串:

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

长时间应该以秒为单位,否则(以毫秒为单位)会抛出错误。 - Kusal Hettiarachchi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接