python计算日期相差几年几月几日
本文最后更新于:2020年9月16日 上午
背景
如何计算日期间隔的年份月份呢?之前写了一个程序,使用datetime计算和女票在一起多少天了,但是最近遇到了一个问题,随着时间的增长,我们需要计算日期间隔的年月日,毕竟1265天是几年呢?本来打算自己写一个,结果发现计算平年闰年,计算每个月多少天,真的是一个非常麻烦的事。于是面向搜索google,我发现中文根本搜不出来任何结果,最终借助google翻译,用英文瞎打误撞发现了dateutil这个模块非常好用。
计算日期间隔的年月日
datetime只能计算日期间隔了多少天,而dateutil则可以计算日期间隔了几年几月几日。
使用datetime
我在一开始使用了datetime,但是datetime模块只能计算天数,过程如下所示:
1 | |
使用dateutil
使用dateutil可以计算出日期相隔的年月日:
1 | |
从字符串中解析时间
datetime模块解析一个时间字符串非常复杂(需要自己写日期的格式规则),而dateutil则非常简单(不需要加一长串规则)。
使用datetime
1 | |
使用dateutil
1 | |
计算时间列表
试想一下,今天是星期二,如果从今天开始往后10周,每周星期二我都需要听一节课,怎么计算我听课的日期?
1 | |
最后
个人还是特别喜欢dateutil解析时间和计算日期间隔年月日的功能,真的省了我太多事了。