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)
| File | Size | Uploaded | |
|---|---|---|---|
| quickdate-0.0.3.tar.gz | 3.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|