Python datetime日期操作:加减一天、小时与年份
在Python编程中,处理日期和时间是一项常见的任务,尤其是在处理时间序列数据或进行日期计算时。Python内置的`datetime`模块提供了丰富的功能来操作日期和时间。然而,对于精确到年、月、日、小时、分钟等更复杂的计算,可能需要额外的`python-dateutil`库的支持。这个库包含了` relativedelta`等类,用于进行相对日期和时间的计算。 首先,确保已安装`python-dateutil`库,可以通过以下命令安装: ```bash pip install python-dateutil ``` 接下来,我们可以通过`datetime`模块获取当前日期和时间,例如: ```python import datetime now = datetime.datetime.now() print(now) # 输出类似:2018-05-08 16:53:30.101000 ``` `datetime.now()`函数返回当前系统时间。如果需要特定的格式,可以使用`strftime`方法进行格式化,如: ```python formatted_now = now.strftime("%Y-%m-%d %H:%M") print(formatted_now) # 输出格式化的日期时间,如:2018-05-08 16:54 ``` 对于日期时间的加减操作,我们可以使用`timedelta`类,它允许指定天数、秒数、微秒数等单位。例如,增加一天: ```python one_day_later = now + datetime.timedelta(days=1) formatted_one_day_later = one_day_later.strftime("%Y-%m-%d %H:%M:%S") print(formatted_one_day_later) # 输出:2018-05-09 16:56:07 ``` 减少一天则类似,只需将`days`参数设为负数: ```python one_day_earlier = now + datetime.timedelta(days=-1) formatted_one_day_earlier = one_day_earlier.strftime("%Y-%m-%d %H:%M:%S") print(formatted_one_day_earlier) # 输出:2018-05-07 16:56:59 ``` 如果需要调整小时和分钟,只需将`days`替换为`hours`和`minutes`即可: ```python one_hour_later = now + datetime.timedelta(hours=1) one_minute_later = now + datetime.timedelta(minutes=1) ``` 对于更复杂的计算,如减去一年,可以使用`dateutil.relativedelta`,如下所示: ```python from dateutil.relativedelta import relativedelta initial_date = datetime.datetime.strptime('20180131', '%Y%m%d') one_year_ago = initial_date - relativedelta(years=1) formatted_one_year_ago = one_year_ago.strftime('%Y%m%d') print(formatted_one_year_ago) # 输出:20170131 ``` 通过这些基本操作,你可以灵活地处理Python中的日期和时间,满足各种业务需求。无论是简单的增减操作还是跨年度的计算,`datetime`和`dateutil`模块都能提供强大的支持。
![](https://csdnimg.cn/release/download_crawler_static/13736396/bg1.jpg)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 5
- 资源: 950
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 京瓷TASKalfa系列维修手册:安全与操作指南
- 小波变换在视频压缩中的应用
- Microsoft OfficeXP详解:WordXP、ExcelXP和PowerPointXP
- 雀巢在线媒介投放策划:门户网站与广告效果分析
- 用友NC-V56供应链功能升级详解(84页)
- 计算机病毒与防御策略探索
- 企业网NAT技术实践:2022年部署互联网出口策略
- 软件测试面试必备:概念、原则与常见问题解析
- 2022年Windows IIS服务器内外网配置详解与Serv-U FTP服务器安装
- 中国联通:企业级ICT转型与创新实践
- C#图形图像编程深入解析:GDI+与多媒体应用
- Xilinx AXI Interconnect v2.1用户指南
- DIY编程电缆全攻略:接口类型与自制指南
- 电脑维护与硬盘数据恢复指南
- 计算机网络技术专业剖析:人才培养与改革
- 量化多因子指数增强策略:微观视角的实证分析
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)