这是我的代码:

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这样的简单约会?


当前回答

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

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

其他回答

# convert date time to regular format.

d_date = datetime.datetime.now()
reg_format_date = d_date.strftime("%Y-%m-%d %I:%M:%S %p")
print(reg_format_date)

# some other date formats.
reg_format_date = d_date.strftime("%d %B %Y %I:%M:%S %p")
print(reg_format_date)
reg_format_date = d_date.strftime("%Y-%m-%d %H:%M:%S")
print(reg_format_date)

输出,输出

2016-10-06 01:21:34 PM
06 October 2016 01:21:34 PM
2016-10-06 13:21:34

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

这是你想要的:

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

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

some_date.strftime('%c')

甚至

from datetime import datetime, date

"{:%d.%m.%Y}".format(datetime.now())

截止日期:2013年12月25日

or

"{} - {:%d.%m.%Y}".format("Today", datetime.now())

输出:“今天-2013年12月25日”

"{:%A}".format(date.today())

外出:“星期三”

'{}__{:%Y.%m.%d__%H-%M}.log'.format(__name__, datetime.now())

输出:'__main____2014.06.09__16-56.log'

import datetime
print datetime.datetime.now().strftime("%Y-%m-%d %H:%M")

编辑:

根据Cees的建议,我也开始利用时间:

import time
print time.strftime("%Y-%m-%d %H:%M")

简单的答案-

datetime.date.today().isoformat()