首页  >  文章  >  后端开发  >  python——计算上周5的日期

python——计算上周5的日期

巴扎黑
巴扎黑原创
2016-11-26 09:42:531579浏览

第一种方法:

Python代码  

from datetime import datetime, timedelta  

weekdays = ['Monday','Tuesday','Wednesday','Thursday',  

            'Friday','Saturday','Sunday']  

def get_previous_byday(dayname, start_date=None):  

    if start_date is None:  

        start_date = datetime.today()  

    day_num = start_date.weekday()  

    day_num_target = weekdays.index(dayname)  

    days_ago = (7 + day_num - day_num_target) % 7  

    if days_ago == 0:  

        days_ago = 7  

    target_date = start_date - timedelta(days = days_ago)  

    return target_date  

  

print( datetime.today() )  

print( get_previous_byday('Monday') )  

print( get_previous_byday('Monday', datetime(2016, 8, 28)) )  

 第二种方法,用dateutil模块

Python代码  

from datetime import datetime  

from dateutil.relativedelta import relativedelta  

from dateutil.rrule import *  

d = datetime.now()  

print(d)  

print(d + relativedelta(weekday=FR))  

print(d + relativedelta(weekday=FR(-1)))  


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn