时间处理工具dateutil的使用

安装命令为:

pip3 install python-dateutil

使用例子

(1)日期转换,字符串日期转为datetime

from dateutil import parser  # 日期解析器
print(parser.parse("Jul 15 2019 13:00:36"))  # 2019-07-15 13:00:36 月份也可全称,如july,January
print(parser.parse('20190717'))  # 2019-07-17 00:00:00
print(parser.parse('2019-07-17'))  # 2019-07-17 00:00:00
print(type(parser.parse('2019-07-17')))  # <class 'datetime.datetime'>

(2)计算时间差:如下为计算一个人出生到现在的时间

from dateutil.relativedelta import relativedelta
from datetime import date
# 1.第一种方式
today = date.today()   # 今天为2019-08-08
birthday = date(year=2000,month=1,day=1)  # 假设出生日期为2000-1-1
diffday = (today - birthday)  # 今天和出生日期计算相差天数
print(diffday.days)   # 只能计算出天
# 2.第二种方式
# 下面可计算两个日期中间相差几年,几个月和几天
diff = relativedelta(today,birthday)
print(diff) # relativedelta(years=+19, months=+7, days=+7)  19岁3个月29天
print(diff.years)  # 年
print(diff.months) # 月
print(diff.days)   # 日

(3) 获取接下来每周周六的日期

from dateutil.rrule import rrule,WEEKLY,calendar
from datetime import date,datetime
next_wednesday = date(year=2019,month=8,day=10)  # 设置下一个周六,2019-08-10
#next_wednesday = datetime(2019,8,10)
data = list(rrule(WEEKLY,count=6,dtstart=next_wednesday))  
# 上面rrule函数中WEEKLY表示频次,即每周,count表示计算的数据数为6个
# dtstart即起始日 byweekday可以指定MO,TU,WE,TH,FR,SA,SU。即周一到周日。
# 输出结果
for one in data:  
    print(one.strftime('%Y-%m-%d'))

'''
2019-08-10
2019-08-17
2019-08-24
2019-08-31
2019-09-07
2019-09-14

'''

reference:

https://www.cnblogs.com/zmhzmh/p/8888001.html
https://dateutil.readthedocs.io/en/stable/examples.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值