关于python:如何将时间戳字符串转换为datetime对象?

How to convert timestamp string to datetime object?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
Converting unix timestamp string to readable date in Python

我有一个时间戳:

1
t = 1322745926.123

如何将时间戳转换为日期时间对象?

1
datetime.strptime(t,date_format)

在上述函数调用中,date_format应该是什么?


datetime.strptime()不是解决问题的正确函数。它将类似"30 Nov 00"的字符串转换为结构时间对象。

你应该想要

1
2
3
from datetime import datetime
t = 1322745926.123
datetime.fromtimestamp(t).isoformat()

此代码的结果是

1
'2011-12-01T14:25:26.123000'

如果时间代码是字符串,则可以执行以下操作:

1
2
3
from datetime import datetime
t ="1322745926.123"
datetime.fromtimestamp(float(t)).isoformat()

用这个,

1
datetime.datetime.fromtimestamp(t)


1
datetime.datetime.utcfromtimestamp(1322745926.123)

返回位于UTC时区的datetime.datetime(2011, 12, 1, 13, 25, 26, 123000)。用:

1
a = pytz.utc.localize(datetime.datetime.utcfromtimestamp(1322745926.123))

您将得到一个时区感知的日期时间对象,该对象随后可以转换为所需的任何时区:

1
2
3
4
5
a == datetime.datetime(2011, 12, 1, 13, 25, 26, 123000, tzinfo=<UTC>)

a.astimezone(pytz.timezone('Europe/Paris'))

# datetime.datetime(2011, 12, 1, 14, 25, 26, 123000, tzinfo=<DstTzInfo 'Europe/Paris' CET+1:00:00 STD>)