我正在尝试在Google电子表格中打印出日期列表,到目前为止,我有以下脚本,该脚本可以很好地获取日期列表,但是我需要知道如何将日期列表转换为字符串列表。
def daterange(startdate, enddate):
r = (enddate+datetime.timedelta(days=1)-startdate).days
return [startdate+datetime.timedelta(days=i) for i in range(r)]
startdate = datetime.date(2018, 11, 19)
enddate = datetime.date(2018,11,25)
datelist = daterange(startdate, enddate)
print ([str(date) for date in datelist])
我本以为'str(date)会完成此任务,但它仍然是日期列表。我不是一个经验丰富的编程人员,所以请简单说明。
**编辑
我意识到我的错误。。它可以很好地打印一个字符串,但是据我所知,我需要先将日期存储为字符串,然后再使用字符串列表来更新电子表格。。完全不需要使用print函数(我也没有使用过我在该项目中使用过的其他字符串列表),有人可以告诉我如何将这些日期转换并存储为字符串吗?
答案 0 :(得分:3)
此行可以:
print ([str(date) for date in datelist])
这些是您可以打印出datelist
的其他方式:
print ([date.strftime('%Y-%m-%d') for date in datelist])
print ([str(date) for date in datelist])
print (["%s" % date for date in datelist])
print ([date for date in datelist])
print (datelist)
最后两个示例产生以下输出:
[datetime.date(2018, 11, 19), datetime.date(2018, 11, 20), datetime.date(2018, 11, 21), datetime.date(2018, 11, 22), datetime.date(2018, 11, 23), datetime.date(2018, 11, 24), datetime.date(2018, 11, 25)]
答案 1 :(得分:1)
看看https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior
使用此选项,您可以将日期转换为所需的字符串格式。再次遍历列表,然后将它们全部转换为字符串变体。
for date in datelist:
print(data.strftime("%B %d, %Y"))