这里我有这样的字符串"1322485986.672901000",数据类型是代表unixtime的字符串。我想在 Python 中将其转换为日期时间。
我使用的方式是 date = datetime.fromtimestamp(float(row[0])) row[0] 表示这样的值 1322485986.672901000,因为我有几个行。转换结果错误,它只计算点之前的数字。所以转换后的日期就像 2011-11-28 13:53:23.6729
我认为问题是float(row[0]),但我不知道如何解决这个问题,或者有谁知道如何以更好的方式将 unixtime 转换为 datetime?
非常感谢!
现在我得到的结果是 2011-11-28 14:13:06.672901
但是当使用在线转换器时,结果是 2011-11-28 13:13:06
请您参考如下方法:
您当前结果的一小时差异可能是时区应用的结果。
如果需要,您可以提供明确的时区——tzinfo objects 上的文档可以引导您直接创建时区对象,一旦创建,您只需传入参数:
from datetime import datetime, tzinfo, timedelta
timestamp = "1322485986.672901000"
class UTC(tzinfo):
def utcoffset(self, dt):
return timedelta(0)
def tzname(self, dt):
return "UTC"
def dst(self, dt):
return timedelta(0)
d1 = datetime.fromtimestamp(float(timestamp), UTC())
print d1
此代码为我打印 2011-11-28 13:13:06.672901+00:00。
