打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
有了python-dateutil,就不用再头疼日期计算了!

python-dateutil 库包含了日期解析、日期生成、日期计算等主要的日期处理函数。特别是日期计算的函数给coder带来很多便利,不用再费尽心思的去考虑日期的变化。

立即前往微信小程序【知识星球】提问>>>

使用pip的方式安装好python-dateutil模块。

pip install python-dateutil

将其导入到我们的代码块中。

from dateutil import rrule
from dateutil.parser import *

主要分三个部分对python-dateutil做一个使用说明。

python-dateutil 日期解析部分

轻松完成大多数日期格式的解析,向大佬递茶!

print('0000-00-00 模式的日期解析', parse("2022-03-15"))

# 0000-00-00 模式的日期解析 2022-03-15 00:00:00

print('00000000 模式的日期解析', parse("20220315"))

# 00000000 模式的日期解析 2022-03-15 00:00:00

print('0000/00/00 模式的日期解析', parse("2022/03/15"))

# 0000/00/00 模式的日期解析 2022-03-15 00:00:00

print('00-00 模式的日期解析', parse("03-15"))

# 00-00 模式的日期解析 2022-03-15 00:00:00

print('00/00 模式的日期解析', parse("03/15"))

# 00/00 模式的日期解析 2022-03-15 00:00:00

print('英文时间 模式的日期解析', parse("Mar 15 2022"))

# 英文时间 模式的日期解析 2022-03-15 00:00:00

面对各种形式的日期字符串,使用parse函数都能完成正确的解析。这样的解析经常在分析日志文件的时候用处比较多,并且可以返回datetime的python时间处理对象。

python-dateutil 日期生成部分

日起生成的使用,他能够通过各种规则生成我们需要的时间列表。

print('生成连续的时间列表:')

print(list(rrule.rrule(rrule.DAILY, dtstart=parse('2022-03-10'), until=parse('2022-03-15'))))

# [datetime.datetime(2022, 3, 10, 0, 0), datetime.datetime(2022, 3, 11, 0, 0), datetime.datetime(2022, 3, 12, 0, 0), datetime.datetime(2022, 3, 13, 0, 0), datetime.datetime(2022, 3, 14, 0, 0), datetime.datetime(2022, 3, 15, 0, 0)]

print('生成间隔一天的时间列表:')

print(list(rrule.rrule(rrule.DAILY, interval=2, dtstart=parse('2022-03-10'), until=parse('2022-03-15'))))

# [datetime.datetime(2022, 3, 10, 0, 0), datetime.datetime(2022, 3, 12, 0, 0), datetime.datetime(2022, 3, 14, 0, 0)]

print('生成间隔一月的时间列表:')

print(list(rrule.rrule(rrule.MONTHLY, dtstart=parse('2022-03-10'), until=parse('2022-06-10'))))

# [datetime.datetime(2022, 3, 10, 0, 0), datetime.datetime(2022, 4, 10, 0, 0), datetime.datetime(2022, 5, 10, 0, 0), datetime.datetime(2022, 6, 10, 0, 0)]

print('生成星期二的时间列表:')

print(list(rrule.rrule(rrule.DAILY, byweekday=rrule.TU, dtstart=parse('2022-03-10'), until=parse('2022-04-10'))))

# [datetime.datetime(2022, 3, 15, 0, 0), datetime.datetime(2022, 3, 22, 0, 0), datetime.datetime(2022, 3, 29, 0, 0), datetime.datetime(2022, 4, 5, 0, 0)]

python-dateutil 日期计算部分

通过简单的函数调用可以完成对各种格式的日期差值的计算。

print('计算两个日期相差的天数:')

print('2022-03-10 至 2022-04-10 相差天数:',rrule.rrule(rrule.DAILY,dtstart=parse('2022-03-10'),until=parse('2022-04-10')).count())

# 2022-03-10 至 2022-04-10 相差天数:32

print('计算两个日期相差的月数:')

print('2022-03-10 至 2022-04-10 相差月数:',rrule.rrule(rrule.MONTHLY,dtstart=parse('2022-03-15'),until=parse('2022-04-10')).count())

# 2022-03-10 至 2022-04-10 相差月数:1


「Python 集中营」,只做知识分享 !

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
刻意练习:Python基础 -- Task13. datetime 模块详解
Python日期处理库:掌握时间的艺术
Python 日期和时间函数使用指南
python
技术问答
Arrow日期时间处理库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服