python Python获取指定星期几的日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python Python获取指定星期几的日期相关的知识,希望对你有一定的参考价值。

from datetime import datetime, timedelta
weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday',
'Friday', 'Saturday', 'Sunday']

def get_previous_by_day(dayname, start_date=None):
    if start_date is None:
        start_date = datetime.today()
    else:
        start_date = datetime.strptime(start_date,'%Y-%m-%d') # 字符串转datetime
    day_num = start_date.weekday() # 获取日期序号, Monday为0
    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 datetime.strftime(target_date, '%Y-%m-%d') # 转成字符串
  
last_friday = get_previous_by_day('Firday') # 获取上一个周五
last_friday = get_previous_by_day('Firday', '2018-05-23') # 获取上一个周五

以上是关于python Python获取指定星期几的日期的主要内容,如果未能解决你的问题,请参考以下文章

python获取当前的日期和时间

python获取当前的日期和时间

python输入日期输出星期几

Java日期查询

python 已知年月日求星期几

在java中获取日期的星期几的一个字母缩写