无法以自定义方式生成日期列表

时间:2018-05-20 14:44:43

标签: python python-3.x date datetime-format

我已经编写了一个脚本来生成日期列表。我尝试过的脚本可以做到。但是,我需要日期列表的方式与我现在所获得的方式大不相同。

我尝试过的脚本:

import datetime

start = datetime.datetime(2017,1,1)
end = datetime.datetime(2017,6,20)
daterange = [start + datetime.timedelta(days=x) for x in range(0, (end-start).days)]
for idate in daterange:
    print(idate)

目前的结果如下:

2017-01-01 00:00:00
2017-01-02 00:00:00
2017-01-03 00:00:00
2017-01-04 00:00:00
2017-01-05 00:00:00
2017-01-06 00:00:00

我希望获得日期的方式如下:

01-01-2017 
01-02-2017  
01-03-2017  
01-04-2017  
01-05-2017  
01-06-2017

如何修改我的脚本以实现相同的目标?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以尝试在strftime中使用print,有关详细信息,请查看documentation

print(idate.strftime("%d-%m-%Y"))

来自documentation

  

%d:作为零填充十进制数的月中的某一天。

     

%m:月份为零填充十进制数。

     

%Y:以十进制数字为世纪的年份。

测试上面的代码:

import datetime

start = datetime.datetime(2017,1,1)
end = datetime.datetime(2017,6,20)
daterange = [start + datetime.timedelta(days=x) for x in range(0, (end-start).days)]
for idate in daterange:
    print(idate.strftime("%d-%m-%Y"))

结果:

01-01-2017
02-01-2017
03-01-2017
04-01-2017
05-01-2017
06-01-2017
07-01-2017
08-01-2017
09-01-2017
.
.
.