如何将日期列表转换为字符串列表

时间:2018-11-22 02:28:55

标签: python

我正在尝试在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函数(我也没有使用过我在该项目中使用过的其他字符串列表),有人可以告诉我如何将这些日期转换并存储为字符串吗?

2 个答案:

答案 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"))