用于处理ISO周日期格式的工具包
项目描述
ISO周日期
iso-week-date是一个工具包,用于处理表示ISO周日期的字符串,有两种格式,即
- 周格式 YYYY-WNN(日期格式 %Y-W%V)
- 周日期格式 YYYY-WNN-D(日期格式 %Y-W%V-%u)
其中 YYYY 代表年份,W 是一个文字,NN 代表周数,而 D 代表星期中的某一天。
简而言之,它提供
IsoWeek
和IsoWeekDate
类,它们实现了一系列直接处理ISO周(日期)格式的功能,避免了在字符串、日期和datetime Python对象之间来回转换的陷阱。- pandas和polars功能(和命名空间)来处理ISO周日期序列。
安装
iso-week-date作为Python包发布在pypi上,可以使用pip安装,也可以直接使用git从源代码安装,或者通过本地克隆
-
pip(推荐)
python -m pip install iso-week-date
-
pip + 源/git:
python -m pip install git+https://github.com/FBruzzesi/iso-week-date.git
-
本地克隆:
git clone https://github.com/FBruzzesi/iso-week-date.git cd iso-week-date python -m pip install .
依赖关系
- 使用
IsoWeek
和IsoWeekDate
类时,无需额外依赖。 - pandas 和 polars 功能需要安装相应的库。
入门指南
可用功能
这是对 iso-week-date
包提供的功能的概述。
IsoWeek
和 IsoWeekDate
类提供以下功能
- 从字符串、日期和 datetime 对象进行解析
- 转换为字符串、日期和 datetime 对象
- 在
IsoWeek
(分别IsoWeekDate
)对象之间进行比较操作 - 与
int
和timedelta
类型相加 - 与
int
、timedelta
和IsoWeek
(分别IsoWeekDate
)类型相减 - 两个
IsoWeek
(分别。IsoWeekDate
)对象之间的范围 - 使用
__next__
方法生成下一个IsoWeek
(分别。IsoWeekDate
)对象
IsoWeek
独有的方法和功能
days
属性,列出给定周中的日期- 使用
nth
方法获取周的第 nth 天作为日期 - 使用
in
操作符和contains
方法检查(可迭代的)周、字符串和/或日期是否包含在给定的周中 - 使用
weeksout
方法生成给定周后 n_weeks 的周列表 - 使用
int
的加法/减法默认为添加/减去周
IsoWeekDate
独有的方法和功能
day
属性返回作为整数的星期几isoweek
属性返回给定日期的 ISO 周数(作为字符串)daysout
方法生成给定日期后 n_days 的日期列表- 使用
int
的加法/减法默认为添加/减去天数
pandas_utils
和 polars_utils
模块提供与 ISO 周日期格式的 series 一起工作以及相互转换的功能。
具体来说,这两个模块实现了以下功能
datetime_to_isoweek
和datetime_to_isoweekdate
将 datetime 对象系列转换为 ISO 周日期字符串系列isoweek_to_datetime
和isoweekdate_to_datetime
将 ISO 周日期字符串系列转换为 datetime 对象系列is_isoweek_series
和is_isoweekdate_series
检查字符串系列值是否匹配 ISO 周日期格式
快速入门
要开始使用 IsoWeek
和 IsoWeekDate
类,请参阅 快速入门 文档部分。
要检查如何使用 pandas 和 polars 功能的示例,请参阅 dataframe 模块 文档部分。
自定义偏移量
这个库存在的主要原因之一是需要灵活地使用自定义偏移量,即能够将自定义偏移量(作为 timedelta
)添加/减到默认 ISO 周开始和给定日期,并获取一个“偏移”的周。
此功能在 IsoWeek
和 IsoWeekDate
类以及 dataframe 功能中都有提供。
要查看示例,请参阅 使用自定义偏移量 部分。
贡献
请阅读文档网站中的 贡献指南。
许可证
该项目有一个 MIT 许可证。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源分布
iso_week_date-1.4.1.tar.gz (20.1 kB 查看散列值)
构建分布
iso_week_date-1.4.1-py3-none-any.whl (26.5 kB 查看散列值)