首页 > 编程语言 >python 计算指定日期是今年的第几周和这个月的第几周

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

时间:2023-10-23 14:35:09浏览次数:46  
标签:week python 几周 datetime 日期 year month day first

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} 周")

 

标签:week,python,几周,datetime,日期,year,month,day,first
From: https://www.cnblogs.com/daizichuan/p/17782320.html

相关文章

  • 《安富莱嵌入式周报》第321期:开源12导联便携心电仪,PCB AI设计,150M示波器差分探头,谷歌
     视频版:https://www.bilibili.com/video/BV1ju4y1D7A8/1、开源12导联便携心电仪https://voltagedivide.com/2017/10/14/psoc-design-and-implementation-of-a-12-lead-portable-ecg/这个开源有完整的上位机,下位机和原理图,并且有一个详细的设计论文。12导联心电图是心电图检查中常......
  • Python工具箱系列(四十四)
    使用py7zr对目录与文件进行压缩打包 7z是一种主流高效的压缩格式,它拥有极高的压缩比。在计算机科学中,7z是一种可以使用多种压缩算法进行数据压缩的档案格式。该格式最初被7-Zip实现并采用,但是这种档案格式是公有的,并且7-Zip软件本身亦在GNU宽通用公共许可证(GNULGPL)协议下开......
  • ubuntu20.04下源码编译python 3.12
    需要注意的地方 1.安装依赖:https://devguide.python.org/getting-started/setup-building/#build-dependenciessudoapt-getinstallbuild-essentialgdblcovpkg-config\libbz2-devlibffi-devlibgdbm-devlibgdbm-compat-devliblzma-dev\libnc......
  • 图书推荐与管理系统Python+协同过滤推荐算法+Django网页界面
    一、介绍图书管理与推荐系统。使用Python作为主要开发语言。前端采用HTML、CSS、BootStrap等技术搭建界面结构,后端采用Django作为逻辑处理,通过Ajax等技术实现数据交互通信。在图书推荐方面使用经典的协同过滤算法作为推荐算法模块。主要功能有:角色分为普通用户和管理员普通用户可注......
  • [924] f-strings in Python
    ref:f-stringsinPythonref:Python'sF-StringforStringInterpolationandFormattingF-strings,alsoknownasformattedstringliterals,areafeatureintroducedinPython3.6thatprovideaconciseandconvenientwaytoembedexpressionsinside......
  • 分享一个批量转换某个目录下的所有ppt->pdf的Python代码
    大家好,我是皮皮。一、前言前几天在Python最强王者群【Python小小小白】分享了一份Python自动化办公的代码,可以批量转换某个目录下的所有ppt->pdf,非常强大。二、实现过程在正式跑代码之后,你可能需要按照对应的库,不然会报错。代码运行之后,本地会出现下面的UI界面,选择PPT文件夹即可,然......
  • Vscode中的python代码规范插件
    有几个流行的VSCode插件可以帮助你在Python开发中遵循代码规范。以下是其中一些常用的插件:1.Pylance:这是一个功能强大的语言服务器,提供了代码自动完成、类型检查、代码导航等功能。它可以与其他代码规范插件配合使用,提供实时的提示和建议。2.pylint:这是一个用于Python的静态代码......
  • 图书推荐管理系统Python+Django网页界面+协同过滤推荐算法
    一、介绍图书管理与推荐系统。使用Python作为主要开发语言。前端采用HTML、CSS、BootStrap等技术搭建界面结构,后端采用Django作为逻辑处理,通过Ajax等技术实现数据交互通信。在图书推荐方面使用经典的协同过滤算法作为推荐算法模块。主要功能有:角色分为普通用户和管理员普通用......
  • 延迟导入Python模块的几种方法
    延迟导入Python模块的几种方法-知乎(zhihu.com)#__init__.pyimportimportlib__all__=['complicated']def__getattr__(name):ifnamein__all__:returnimportlib.import_module("."+name,__name__)else:raiseAttributeError(f&qu......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-21-处理鼠标拖拽-番外篇
    1.简介前边宏哥拖拽有提到那个反爬虫机制,加了各种参数,以及加载js脚本文件还是有问题,偶尔宏哥好像发现了解决问题的办法,看到了黎明的曙光,宏哥就说试一下看看行不行,万一实现了。结果宏哥试了结果真的OK啊,但是宏哥第一次运行可以,后边就不行了,然后将编辑器关闭重启,再次运行又可以,宏哥......