我正在写一个程序,需要生活日期(意味着像当前日期)。下面是代码。
from datetime import date
today_date = date.today()
print(list(today_date))
现在我想把这个日期转换成一个列表。但是它给了我一个错误,因为使用date.today()
获得的元素不是“可迭代的”。那么,我如何将日期转换为列表呢?
发布于 2020-06-25 18:34:44
也许您可以使用.timetuple
来实现您的目的:
>>> datetime.date.today().timetuple()[:3]
(2020, 6, 25)
发布于 2020-06-25 18:33:09
日期和时间的每个部分都可用作datetime对象的属性。你可以尝试下面这样的方法。
import datetime
today_date = datetime.datetime.today()
date_list = [today_date.year, today_date.month, today_date.day]
您还可以以类似的方式访问时间
发布于 2020-06-25 18:40:48
有一个名为timetuple
的方法
>>> from datetime import date
>>> today_date = date.today()
>>> today_date.timetuple()
time.struct_time(tm_year=2020, tm_mon=6, tm_mday=25, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=177, tm_isdst=-1)
正如您所看到的,因为您使用的是date
而不是datetime
,所以时间部分是零。
您可以将前三项转换为列表:
>>> list(today_date.timetuple()[:3])
[2020, 6, 25]
如果使用datetime
,则会以相同的方式使用它,但时间部分也会被填充:
>>> from datetime import datetime
>>> datetime.today().timetuple()
time.struct_time(tm_year=2020, tm_mon=6, tm_mday=25, tm_hour=19, tm_min=39, tm_sec=47, tm_wday=3, tm_yday=177, tm_isdst=-1)
所以你可以这样做,例如:
>>> list(datetime.today().timetuple()[:6])
[2020, 6, 25, 19, 40, 35]
https://stackoverflow.com/questions/62582030
复制相似问题