这是我的代码:

import datetime
today = datetime.date.today()
print(today)

这张照片是:2008-11-22,这正是我想要的。

但是,我有一个列表,我要将其附加到列表中,然后突然一切都变得“不稳定”。代码如下:

import datetime
mylist = []
today = datetime.date.today()
mylist.append(today)
print(mylist)

这将打印以下内容:

[datetime.date(2008, 11, 22)]

我怎样才能得到像2008-11-22这样的简单约会?


当前回答

这更短:

>>> import time
>>> time.strftime("%Y-%m-%d %H:%M")
'2013-11-19 09:38'

其他回答

使用date.strftime。文档中描述了格式参数。

这是你想要的:

some_date.strftime('%Y-%m-%d')

这一次考虑了Locale。(这样做)

some_date.strftime('%c')

我讨厌为了方便而导入太多模块的想法。我宁愿使用可用的模块,在本例中是datetime,而不是调用新的模块time。

>>> a = datetime.datetime(2015, 04, 01, 11, 23, 22)
>>> a.strftime('%Y-%m-%d %H:%M')
'2015-04-01 11:23'

对于那些希望基于区域设置的日期而不包括时间的用户,请使用:

>>> some_date.strftime('%x')
07/11/2019

这更短:

>>> import time
>>> time.strftime("%Y-%m-%d %H:%M")
'2013-11-19 09:38'

由于print today返回您想要的内容,这意味着today对象的__str__函数返回您要查找的字符串。

因此,您也可以执行mylist.append(today.__str__())。