python 计算指定日期是今年的第几周和这个月的第几周

Python当前时间是一年中第几周_python 计算一年的第几周-CSDN博客

以上感觉可能索引是从0开始

ISO 8601
每个日历星期星期一开始,星期日为第 7 天。
第一个日历星期有以下四种等效说法:
1,本年度第一个星期四所在的星期;
2,1 月 4 日所在的星期;
3,本年度第一个至少有 4 天在同一星期内的星期;
4,星期一在去年 12 月 29 日至今年 1 月 4 日以内的星期;
代码待改善

1、通过calendar.weekday得到今年或这个月第一天是礼拜几

2、再用datetime.timedelta转换格式,进行datetime格式的相见,得出datetime格式

3、得到的结果就是今年或该月第一天对应的那个礼拜的礼拜一(第一个礼拜的礼拜一)是几号

4、然后用指定的日期减去第一个礼拜的礼拜一日期,得到距今天数,然后整除7,再加1(整除会)

复制代码
import datetime
import calendar

# 获取指定日期是今年的第几周
date = datetime.datetime(2023, 10, 23)
year = date.year
first_day_of_year = datetime.datetime(year, 1, 1)
first_day_of_week = datetime.datetime(year, 1, 1) - datetime.timedelta(
    days=calendar.weekday(first_day_of_year.year, first_day_of_year.month, first_day_of_year.day))
week_num = (date - first_day_of_week).days // 7 + 1
print(f"{date.strftime('%Y-%m-%d')} 是今年的第 {week_num} 周")

# 获取指定日期是本月的第几周
month = date.month
first_day_of_month = datetime.datetime(year, month, 1)
first_day_of_week = datetime.datetime(year, month, 1) - datetime.timedelta(
    days=calendar.weekday(first_day_of_month.year, first_day_of_month.month, first_day_of_month.day))
week_num = (date - first_day_of_week).days // 7 + 1
print(f"{date.strftime('%Y-%m-%d')} 是本月的第 {week_num} 周")
复制代码

 

posted @   你说夕阳很美  阅读(561)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示