d:Datetime对象
给定日期d和一周中的一天( x在0-6范围内),在与d相同的一周内返回x的日期。
我可以想出一些方法来做到这一点,但它们似乎都相当低效。有节奏曲的方法吗?
示例
投入:日期(2020,2,4,18,0,55,00000),6
产出:日期(2020,2,7)
输入:日期(2020,2,4,18,0,55,00000),0
产出日期(2020,2,3)
发布于 2020-02-05 01:26:26
该方法获取一周中的第一天,然后从那里找到工作日整数所请求的日期:
import datetime as dt
def weekday_in_week(d,weekday=None):
if not weekday:
return None
week_start = d - dt.timedelta(days=d.weekday())
return week_start + dt.timedelta(days=weekday) 示例用法:
In [27]: weekday_in_week(dt.date.today(),6)
Out[27]: datetime.date(2020, 2, 9)记住平日是这样的:0是星期一,6是星期天。
https://stackoverflow.com/questions/60067721
复制相似问题