当我这样做时,time.time()
我会得到类似的东西:1342648659.223746
. 如何将其转换为如下所示的 unix 时间:2012-07-18T21:42:00Z
?
问问题
1777 次
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 回答