utcnow的字符串格式

时间:2018-12-07 20:45:19

标签: python

使用utcnow(),我得到以下信息:

>>> str(datetime.datetime.utcnow())
'2018-12-07 20:44:11.158487'

如何将其格式化为以下字符串:

YYYY-MM-DDTHH:MM:SS
2018-12-07T20:44:11

3 个答案:

答案 0 :(得分:1)

使用isoformat()

t = datetime.datetime.utcnow()
t.isoformat()
> '2018-12-07T20:47:31.645578'
t.isoformat(timespec='seconds')
> '2018-12-07T20:47:31'

答案 1 :(得分:1)

>>> import datetime
>>> datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S')
'2018-12-07T20:54:09'

答案 2 :(得分:0)

我不会接受我的回答,但是有几种方法可以做到这一点。一种是上述重复方式,另一种是使用标准isoformat

首先,您可以引用Print current UTC datetime with special format(在问题中作为重复项列出)以使用特定格式。

在您的特定情况下为:

>>> datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S')
'2018-12-07T20:51:53'

另一种选择是使用shx2提到的更标准的t.isoformat()。这给出了小数部分,但可以通过以下两种方式之一轻松解决:

>>> datetime.datetime.now().replace(microsecond=0).isoformat()
'2018-12-07T12:53:05'

>>>t.isoformat().split('.')[0]
'2018-12-07T20:49:57'