python——计算上周5的日期

巴扎黑
发布: 2016-12-03 10:23:28
原创
1525 人浏览过

第一种方法:  

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模块

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)))
登录后复制


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!