Skip to main content

quickdate

快捷处理日期的Python库,支持从字符串解析日期,灵活实现加减日、周、月、年、时、分、秒的时间操作

如何安装?

pip install quickdate

如何使用

qucickdate默认以今天的起点,开始定位日期,当然你也可以使用DateLocate.parse方法,从字符串解析一个日期,并以此为起点

支持的主要函数是 add 函数,可以动态传入 days、weeks、months、years、hours、minutes、seconds参数,并返回为 DateLocate对象本身

这意味着,可以链式定位日期,更为方便快捷

>>> from quickdate.quickdate import DateLocate
>>> DateLocate().format("%Y-%m-%d")
2023-08-21
>>> from quickdate.quickdate import DateLocate
>>> DateLocate.parse('20230821').format("%Y-%m-%d")
2023-08-21

其中, parse 函数还支持以下日期时间格式(不限于)

>>> DateLocate.parse('22nd,July,2009').format("%Y-%m-%d")
2009-07-22
>>> DateLocate.parse('2018-04-20').format("%Y-%m-%d")
2018-04-20
>>> DateLocate.parse('2018').format("%Y-%m-%d")
2018-08-21
>>> DateLocate.parse('5,').format("%Y-%m-%d")
2023-08-05
>>> DateLocate.parse('9:10:8').format("%Y-%m-%d %H:%M:%S")
2023-08-21 09:10:08
>>> DateLocate.parse('02/11/2016').format("%Y-%m-%d %H:%M:%S")
2016-02-11 00:00:00

以下,将以今天为起点,说明 quickdate 库的用法

# 按日定位日期 
>>> DateLocate().format("%Y-%m-%d")
2023-08-21
>>> DateLocate().add(days=-1).format("%Y-%m-%d")
2023-08-20
# 按周定位日期 
>>> DateLocate().add(weeks=-1).format("%Y-%m-%d")
2023-08-14
# 按月定位日期 
>>> DateLocate().add(months=-1).format("%Y-%m-%d")
2023-07-21
# 特别地,若当天为本月最后一天,获取上月日期时,会较正为准确上月最后一天的日期 
>>> DateLocate.parse("2023-03-31").add(months=-1).format("%Y-%m-%d")
2023-02-28
# 按年定位日期 
>>> DateLocate().add(years=-1).format("%Y-%m-%d")
2022-08-21

定位日期的方式,除了以上传一个参数以外,还可以复合传多个参数(但同一个参数仅能传一次)

>>> DateLocate().add(weeks=-1, days=2, months=-2, years=-1).format("%Y-%m-%d")
2022-06-16

还可以进行链式定位

>>> DateLocate().add(days=-1).add(weeks=-3).lastDay().format("%Y-%m-%d")
2023-07-31

可根据需求,直接设定年月日时分秒的值

>>> DateLocate().year(2022).month(12).day(5).hour(10).format("%Y-%m-%d %H:%M:%S")
2022-12-05 10:41:47

通过 week 函数,可获取定位日期同周的周一至周日的日期

>>> DateLocate().week(5).format("%Y-%m-%d")
2023-08-25

通过 lastDay 函数,可获取定位日期当月最后一天的日期

>>> DateLocate().lastDay().format("%Y-%m-%d")
2023-08-31

使用案例

获取当天日期

>>> from quickdate.quickdate import DateLocate
>>> DateLocate().format("%Y-%m-%d")
2023-08-21

获到昨天日期

>>> DateLocate().add(days=-1).format("%Y-%m-%d")
2023-08-20

获取上周三的日期

>>> DateLocate().add(weeks=-1).week(3).format("%Y-%m-%d")
2023-08-16

获取去年今日对应月份的最后一天

>>> DateLocate().add(years=-1).lastDay().format("%Y-%m-%d")
2022-08-31

获取上个月的1号

>>> DateLocate().add(months=-1).day(1).format("%Y-%m-%d")
2023-07-01

获取上上周六的日期

>>> DateLocate().add(weeks=-2).week(6).format("%Y-%m-%d")
2023-08-12

Release files for quickdate 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for quickdate 0.0.3
File Size Uploaded
quickdate-0.0.3.tar.gz 3.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for quickdate 0.0.3
File Interpreter ABI Platform
quickdate-0.0.3-py3-none-any.whl Python 3 none any Details

Total release size: 8.0 kB

Release files / quickdate-0.0.3.tar.gz

Download URL quickdate-0.0.3.tar.gz
Size 3.9 kB
Tags Source
SHA-256 checksum
How to use checksums
277a5f50d9f16c1751b8d964746df60b85bf7d7b37a2d60490e7c1e0504ae292
BLAKE2b-256 checksum
How to use checksums
dfe651b3cac452619d6b5193e740afaeb812a7034384a6649daec30ca7459d8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release files / quickdate-0.0.3-py3-none-any.whl

Download URL quickdate-0.0.3-py3-none-any.whl
Size 4.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
90386b7265b55976e95e9d6739a86109bf886e5be12d7a0513de276f2b6570b5
BLAKE2b-256 checksum
How to use checksums
bd68a6949ce685f66e0a43b843306684fcc197f2d2ef9aeff88bf1e823efb0af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page