Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中将日期转换为列表_Python_Python Datetime - Fatal编程技术网

如何在python中将日期转换为列表

如何在python中将日期转换为列表,python,python-datetime,Python,Python Datetime,我正在写一个需要实时日期的程序(意思类似于当前日期)。这是代码 from datetime import date today_date = date.today() print(list(today_date)) 现在我想把这个日期转换成一个列表。但是它给了我一个错误,因为使用date.today()获得的元素不是“iterable”。那么如何将日期转换为列表呢?日期和时间的每一部分都可以作为datetime对象的属性使用。你可以试试下面的方法 import datetime today_

我正在写一个需要实时日期的程序(意思类似于当前日期)。这是代码

from datetime import date
today_date = date.today()
print(list(today_date))

现在我想把这个日期转换成一个列表。但是它给了我一个错误,因为使用
date.today()
获得的元素不是“iterable”。那么如何将日期转换为列表呢?

日期和时间的每一部分都可以作为datetime对象的属性使用。你可以试试下面的方法

import datetime

today_date = datetime.datetime.today()

date_list = [today_date.year, today_date.month, today_date.day]


您还可以访问时间,类似地

您只需将年、月和日添加为数组中的元素即可

list = [today_date.year, today_date.month, today_date.day]

也许您可以使用
.timetuple
实现以下目的:

>>> datetime.date.today().timetuple()[:3]
(2020, 6, 25)
您可以使用
split()
,而不是
list()

输出:

['2020', '06', '25']
['2020', '06', '25']



你可以做的另一件事是:

from datetime import datetime
print(str(datetime.now()).split()[0].split('-'))
输出:

['2020', '06', '25']
['2020', '06', '25']

有一种方法叫做
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]
如果使用
日期时间
,则使用方式相同,但时间部分也会填充:

>>> 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]


你的预期产量是多少?比如把2020-06-25变成2020,06,25这就是你想要的答案吗?是的,这就是答案answer@snoopstick我认为您还应该检查哪个更具python风格且易于扩展。如果不需要元组,您可以将其包装在
列表中
from datetime import datetime
print(str(datetime.now()).split()[0].split('-'))
datetime.date.today().timetuple()[:3]
(2020, 6, 25)
import datetime
today_date = datetime.datetime.today()
date_list = [today_date.year, today_date.month, today_date.day]