使用utcnow()
,我得到以下信息:
>>> str(datetime.datetime.utcnow())
'2018-12-07 20:44:11.158487'
如何将其格式化为以下字符串:
YYYY-MM-DDTHH:MM:SS
2018-12-07T20:44:11
答案 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'