如何以 python 列表的形式获取最近 20 天的日期?
how to get the last 20 days dates in the form of list in python?
如何使用 date
和 datetime
获取 current date
之前的最后 20 days
日期
例如 CurrentDate = 2020-11-02
我可以轻松获得 previous
日期
这是代码
from datetime import date, timedelta
today = date.today()
yesterday = today - timedelta(days = 1)
print(today)
print(yesterday)
但是我如何获取 python 中过去的最后一个 20 days
日期?
我的预期输出像
Dateslist= ['2020-10-13','2020-10-14','2020-10-15','2020-10-16','2020-10-17','2020-10-18','2020-10-19',
...., '2020-11-02']
如有任何帮助,我们将不胜感激,并提前致谢
试试这个:
from datetime import date, timedelta
today = date.today()
lst = []
for x in range(20):
lst.append(today - timedelta(days = x+1))
print(today)
print(lst)
输出:
[datetime.date(2020, 11, 1), datetime.date(2020, 10, 31), datetime.date(2020, 10, 30), datetime.date(2020, 10, 29), datetime.date(2020, 10, 28), datetime.date(2020, 10, 27), datetime.date(2020, 10, 26), datetime.date(2020, 10, 25), datetime.date(2020, 10, 24), datetime.date(2020, 10, 23), datetime.date(2020, 10, 22), datetime.date(2020, 10, 21), datetime.date(2020, 10, 20), datetime.date(2020, 10, 19), datetime.date(2020, 10, 18), datetime.date(2020, 10, 17), datetime.date(2020, 10, 16), datetime.date(2020, 10, 15), datetime.date(2020, 10, 14), datetime.date(2020, 10, 13)]
你可以用列表理解来做到这一点
today = date.today()
Dateslist = [today - timedelta(days = day) for day in range(20)]
这将 return datime 对象,以防您需要在代码中的其他任何地方使用它们,如果您想要像预期输出一样的字符串,只需添加 str()
Dateslist = [str(today - timedelta(days = day)) for day in range(20)]
如果您需要在字符串中进行更高级的时间格式化,datetime.strftime()
值得检查
如何使用 date
和 datetime
current date
之前的最后 20 days
日期
例如 CurrentDate = 2020-11-02
我可以轻松获得 previous
日期
这是代码
from datetime import date, timedelta
today = date.today()
yesterday = today - timedelta(days = 1)
print(today)
print(yesterday)
但是我如何获取 python 中过去的最后一个 20 days
日期?
我的预期输出像
Dateslist= ['2020-10-13','2020-10-14','2020-10-15','2020-10-16','2020-10-17','2020-10-18','2020-10-19',
...., '2020-11-02']
如有任何帮助,我们将不胜感激,并提前致谢
试试这个:
from datetime import date, timedelta
today = date.today()
lst = []
for x in range(20):
lst.append(today - timedelta(days = x+1))
print(today)
print(lst)
输出:
[datetime.date(2020, 11, 1), datetime.date(2020, 10, 31), datetime.date(2020, 10, 30), datetime.date(2020, 10, 29), datetime.date(2020, 10, 28), datetime.date(2020, 10, 27), datetime.date(2020, 10, 26), datetime.date(2020, 10, 25), datetime.date(2020, 10, 24), datetime.date(2020, 10, 23), datetime.date(2020, 10, 22), datetime.date(2020, 10, 21), datetime.date(2020, 10, 20), datetime.date(2020, 10, 19), datetime.date(2020, 10, 18), datetime.date(2020, 10, 17), datetime.date(2020, 10, 16), datetime.date(2020, 10, 15), datetime.date(2020, 10, 14), datetime.date(2020, 10, 13)]
你可以用列表理解来做到这一点
today = date.today()
Dateslist = [today - timedelta(days = day) for day in range(20)]
这将 return datime 对象,以防您需要在代码中的其他任何地方使用它们,如果您想要像预期输出一样的字符串,只需添加 str()
Dateslist = [str(today - timedelta(days = day)) for day in range(20)]
如果您需要在字符串中进行更高级的时间格式化,datetime.strftime()
值得检查