【问题标题】:How to convert a list of dates into a list of strings如何将日期列表转换为字符串列表
【发布时间】:2019-04-24 16:07:55
【问题描述】:

我正在尝试在谷歌电子表格中打印出日期列表,到目前为止,我有以下脚本,它可以很好地获取日期列表,但我需要知道如何将此日期列表转换为字符串列表..

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) 会完成这个,但它仍然是一个日期列表。我不是一个有经验的程序,所以请简单解释一下。

** 编辑

我意识到我的错误。它打印的字符串很好,但据我所知,我需要先将日期存储为字符串,然后用字符串列表更新电子表格。实际上我没有根本不需要使用打印功能(而且我还没有使用我在这个项目中使用过的其他字符串列表)谁能告诉我如何将这些日期转换和存储为字符串?

【问题讨论】:

标签: python


【解决方案1】:

这条线没问题:

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

【讨论】:

  • 我意识到我的错误..它打印一个字符串很好,但据我所知,我需要先将日期存储为字符串,然后使用字符串列表更新电子表格.. 我实际上根本不需要使用 print 函数(而且我没有在这个项目中使用过其他字符串列表)
【解决方案2】:

看看https://docs.python.org/2/library/datetime.html#strftime-strptime-behavior

有了它,您可以将日期转换为您想要的字符串格式。再次循环您的列表并将它们全部转换为字符串变体。

for date in datelist:
    print(data.strftime("%B %d, %Y"))

【讨论】:

    猜你喜欢
    • 2021-09-29
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 2022-09-27
    相关资源
    最近更新 更多