首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在python中查找上个月连续7天的列表

如何在python中查找上个月连续7天的列表
EN

Stack Overflow用户
提问于 2019-05-09 21:27:40
回答 1查看 1.6K关注 0票数 0

我想用Python编写一个程序来查找上个月连续7天的列表,例如,如果今天是2019-5-9,那么我的输出应该是从2019-4-8到2019-4-2的日期列表,为此,我使用了Python的datetime模块。我已经写了一个程序,如下所示,但我不想要datetime.date()格式的输出,而是2019-4-8。你能告诉我怎么做吗?此外,还给出了其他时间复杂度较低和代码简单的建议。

代码语言:javascript
运行
复制
from datetime import date, timedelta

current_date=date.today()
current_year=date.today().year
current_day=date.today().day-1
month_before=date.today().month-1
date_before=current_date.replace(current_year,month_before,current_day)
month_list=[date_before]
print(month_list)
for i in range(1,7):
    month_list.append(date_before-timedelta(days=i))
print (month_list)  

输出为

代码语言:javascript
运行
复制
[datetime.date(2019, 4, 8)]
[datetime.date(2019, 4, 8), datetime.date(2019, 4, 7), datetime.date(2019, 4, 6), datetime.date(2019, 4, 5), datetime.date(2019, 4, 4), datetime.date(2019, 4, 3), datetime.date(2019, 4, 2)]
EN

回答 1

Stack Overflow用户

发布于 2019-05-09 21:42:50

可以使用strftime设置日期格式

代码语言:javascript
运行
复制
from datetime import date, timedelta

current_date=date.today()
current_year=date.today().year
current_day=date.today().day-1
month_before=date.today().month-1
date_before=current_date.replace(current_year,month_before,current_day)
month_list=[date_before]
print(month_list)
month_list=[(date_before-timedelta(days=i)).strftime("%Y-%m-%d") for i in range(7)]
print(month_list)

或者,您可以使用pandas、date_range和dateoffset。

代码语言:javascript
运行
复制
import pandas as pd
date_list =  sorted(pd.date_range(pd.datetime.today() 
                                 - pd.DateOffset(months=1) 
                                 - pd.DateOffset(days=7) , 
                                  periods=7).tolist(), reverse=True)
print([dt.strftime("%Y-%m-%d") for dt in date_list])

结果:

代码语言:javascript
运行
复制
['2019-04-08', '2019-04-07', '2019-04-06', '2019-04-05', '2019-04-04', '2019-04-03', '2019-04-02']
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56060514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档