2

可能重复:
在 Python 中将 unix 时间戳字符串转换为可读日期

当我这样做时,time.time()我会得到类似的东西:1342648659.223746. 如何将其转换为如下所示的 unix 时间:2012-07-18T21:42:00Z

4

2 回答 2

6

Python 的标准日期时间模块对于各种日期/时间操作非常方便。

对于您的特定问题,该isoformat()方法很方便。例如,如果您自 Epoch 以来已经有一个以秒为单位的时间(例如您的1342648659.223746):

>> from datetime import datetime
>> datetime.fromtimestamp(1342648659.223746).isoformat()
== '2012-07-18T23:57:39.223746'

如果您只想要当前 (UTC) 时间,则 ISO 格式为:

>> datetime.utcnow().isoformat()
== '2012-07-19T00:06:45.724468'

如果您绝对需要输出中的时区信息(即Z示例中的 UTC),则必须手动附加它,或者回退到使用strftime

>> datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%SZ')
== '2012-07-18T22:11:05Z'
于 2012-07-18T22:08:14.437 回答
5

您应该使用如下datetime模块:

>>> import datetime
>>> d = datetime.datetime.fromtimestamp(27654727.23)
>>> print d
1970-11-16 22:52:07.230000

您可以将时间戳传递给fromtimestamp()函数。

于 2012-07-18T22:05:19.357 回答