gpt4 book ai didi

python - 在python中获取最后一个星期日和星期六的日期

转载 作者:IT老高 更新时间:2023-10-28 21:07:21 24 4
gpt4 key购买 nike

希望利用 datetime 来获取上一周的开始和结束日期,从周日到周六。

所以,如果今天是 8/12/13,我想定义一个打印的函数:

上周日是 8/4/2013,上周六是 8/10/2013

我该如何写这篇文章?

编辑:好的,所以似乎有一些关于边缘情况的问题。对于星期六,我想要同一周,对于其他任何事情,我想要紧接在 today 日期之前的日历周。

最佳答案

datetime.date.weekday返回星期一的 0。你需要调整它。

尝试以下操作:

>>> import datetime
>>> today = datetime.date.today()
>>> today
datetime.date(2013, 8, 13)
>>> idx = (today.weekday() + 1) % 7 # MON = 0, SUN = 6 -> SUN = 0 .. SAT = 6
>>> idx
2
>>> sun = today - datetime.timedelta(7+idx)
>>> sat = today - datetime.timedelta(7+idx-6)
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'

如果您被允许使用 python-dateutil :

>>> import datetime
>>> from dateutil import relativedelta
>>> today = datetime.datetime.now()
>>> start = today - datetime.timedelta((today.weekday() + 1) % 7)
>>> sat = start + relativedelta.relativedelta(weekday=relativedelta.SA(-1))
>>> sun = sat + relativedelta.relativedelta(weekday=relativedelta.SU(-1))
>>> 'Last Sunday was {:%m/%d/%Y} and last Saturday was {:%m/%d/%Y}'.format(sun, sat)
'Last Sunday was 08/04/2013 and last Saturday was 08/10/2013'

关于python - 在python中获取最后一个星期日和星期六的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com