这是我的代码:

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


当前回答

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

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

其他回答

以下是如何将日期显示为(年/月/日):

from datetime import datetime
now = datetime.now()

print '%s/%s/%s' % (now.year, now.month, now.day)
from datetime import date

def today_in_str_format():
    return str(date.today())

print (today_in_str_format())

这将打印2018-06-23,如果这是你想要的:)

在Python中,可以使用datetime模块中的date、time和datetime类中的strftime()方法格式化datetime。

在您的特定情况下,您使用的是datetime中的date类。您可以使用以下代码段将today变量格式化为格式为yyyy-MM-dd的字符串:

import datetime

today = datetime.date.today()
print("formatted datetime: %s" % today.strftime("%Y-%m-%d"))

在以下更完整的示例中:

import datetime
today = datetime.date.today()

# datetime in d/m/Y H:M:S format
date_time = today.strftime("%d/%m/%Y, %H:%M:%S")
print("datetime: %s" % date_time)

# datetime in Y-m-d H:M:S format
date_time = today.strftime("%Y-%m-%d, %H:%M:%S")
print("datetime: %s" % date_time)

# format date
date = today.strftime("%d/%m/%Y")
print("date: %s" % time)

# format time
time = today.strftime("%H:%M:%S")
print("time: %s" % time)

# day
day = today.strftime("%d")
print("day: %s" % day)

# month
month = today.strftime("%m")
print("month: %s" % month)

# year
year = today.strftime("%Y")
print("year: %s" % year)

更多指令:

来源:

在Python中设置DateTime格式斯特夫蒂姆

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

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

您可以执行以下操作:

mylist.append(str(today))