Python 使用 python-dateutil 获取间隔时间

当前环境:Win10 + Python3.7+ python-dateutil==2.8.2 

'''
1 安装:
python -m pip install python-dateutil

2 项目地址:
https://pypi.org/project/python-dateutil/
'''

# -*- coding: UTF-8 -*-

from datetime import datetime
from dateutil.relativedelta import relativedelta

 # 获取当前日期
current_date = datetime.now()
print(current_date)
# 2024-06-21 08:55:17.757095

# 计算下一年的日期
next_year_date = current_date + relativedelta(years=+1)
print(type(next_year_date),next_year_date)
# <class 'datetime.datetime'> 2025-06-21 08:55:17.757095

# 计算下一个月的日期
next_month_date = current_date + relativedelta(months=+1)
print(type(next_month_date),next_month_date)
# <class 'datetime.datetime'> 2024-07-21 08:55:17.757095

# 计算下一天的日期
next_day_date = current_date + relativedelta(days=+1)
print(type(next_day_date),next_day_date)
# <class 'datetime.datetime'> 2024-06-22 08:55:17.757095

# 计算下一时的日期
next_hour_date = current_date + relativedelta(hours=+1)
print(type(next_hour_date),next_hour_date)
# <class 'datetime.datetime'> 2024-06-21 09:55:17.757095

# 计算下一分的日期
next_minute_date = current_date + relativedelta(minutes=+1)
print(type(next_minute_date),next_minute_date)
# <class 'datetime.datetime'> 2024-06-21 08:56:17.757095

# 计算下一秒的日期
next_second_date = current_date + relativedelta(seconds=+1)
print(type(next_second_date),next_second_date)
# <class 'datetime.datetime'> 2024-06-21 08:55:18.757095

# 格式化日期
str_time = next_year_date.strftime('%Y-%m-%d %H:%M:%S')
print(type(str_time),str_time)
# <class 'str'> 2025-06-21 08:55:17

# 格式化日期
str_time = next_year_date.strftime('%Y-%m-%d 08:00:00')
print(type(str_time),str_time)
# <class 'str'> 2025-06-21 08:00:00

# 格式化日期 加 1 年
string_time = '20.06.2024 19:13:29'
datetime_time = datetime.strptime(string_time, '%d.%m.%Y %H:%M:%S')
next_year_datetime = datetime_time + relativedelta(years=+1)
str_time = next_year_datetime.strftime('%Y-%m-%d %H:%M:%S')
print(str_time)
# 2025-06-20 19:13:29


'''
relativedelta()参数:

years=0, 
months=0, 
days=0, 
leapdays=0, 
weeks=0,
hours=0, 
minutes=0, 
seconds=0, 
microseconds=0
'''

'''
参考:
https://blog.51cto.com/u_16175514/7415349
https://zhuanlan.zhihu.com/p/341333939
https://blog.csdn.net/lilongsy/article/details/80242427
'''

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值