Skip to main content

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

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quickdate-0.0.3.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quickdate-0.0.3-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file quickdate-0.0.3.tar.gz.

File metadata

  • Download URL: quickdate-0.0.3.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for quickdate-0.0.3.tar.gz
Algorithm Hash digest
SHA256 277a5f50d9f16c1751b8d964746df60b85bf7d7b37a2d60490e7c1e0504ae292
MD5 0d6ebc6cfe323d7df62656a942da1772
BLAKE2b-256 dfe651b3cac452619d6b5193e740afaeb812a7034384a6649daec30ca7459d8f

See more details on using hashes here.

File details

Details for the file quickdate-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: quickdate-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for quickdate-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 90386b7265b55976e95e9d6739a86109bf886e5be12d7a0513de276f2b6570b5
MD5 49c291060702c4456e100c29b455fbc2
BLAKE2b-256 bd68a6949ce685f66e0a43b843306684fcc197f2d2ef9aeff88bf1e823efb0af

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page