首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Python或SQL计算过去的X周天数?

如何使用Python或SQL计算过去的X周天数?
EN

Stack Overflow用户
提问于 2015-05-07 11:19:56
回答 2查看 287关注 0票数 3

我需要精确计算过去5周的时间。如果今天的日期是2015-05-07,我需要我的计划给我2015-04-30。

到目前为止,我尝试的是

代码语言:javascript
复制
today = datetime.date.today() - datetime.timedelta(5)

这给了过去5天的时间。但我需要在过去的第五个工作日。我需要这样做是因为我有一个数据库表,其中包含一些数据,我需要编写一个Python脚本来获取最后5天的数据。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-17 23:12:32

Python datetime对象有一个isoweekday()方法来帮助解决这个问题。此方法返回与一周中的一天相对应的数值。例如,星期一是整数1,你想跳过星期六和星期天,它们分别对应于6和7。我们可以用它来回溯:

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

def workingday(d, no_of_days):                                                              
    backdate = d                                                                      
    count = 0                                                                         
    while count < no_of_days:                                                                  
        backdate = backdate - timedelta(1)                                              
        if backdate.isoweekday() in (6,7):                                            
            continue                                                                  
        count += 1                                                                    
    return backdate.strftime("%Y-%m-%d")


d = datetime.strptime("2015-05-07","%Y-%m-%d")                                        
print workingday(d, 5)

Output:

2015-04-30 

我用过你的约会格式。但你可以很容易地改变这一点。

代替isoweekday(),您可以使用weekday(),但是现在,星期一将返回为0,而星期日将返回为6。

票数 1
EN

Stack Overflow用户

发布于 2015-05-17 21:57:20

过去的五天只不过是:

代码语言:javascript
复制
select date_sub(CURDATE(), interval 5 day)

如果每周一天你指的是蒙-弗里,那么这个逻辑实际上相当简单。5周是一周,也就是7天(至少在美国)。所以你的问题的答案是

代码语言:javascript
复制
select date_sub(CURDATE(), interval 7 day)

注意,其他天数将需要更复杂的逻辑,使用CASE

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30099616

复制
相关文章

相似问题

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