Python计算给定日期前后月份首尾日期的实现方法

蓝鲸
蓝鲸
发布时间:2026-10-13| 3人浏览过
原创

本文介绍在Python中计算指定日期所在月份、前一个月及后一个月第一天和最后日期的方法。通过结合datetime和calendar模块,利用timedelta和monthrange函数实现精确推导,提供清晰代码示例与运行结果,帮助开发者高效处理时间序列相关逻辑。

本文详细介绍了一种在Python中计算指定时间点前一个月和后一个月第一天及最后一天日期的实现方案,供读者参考应用。

针对网络上关于Python获取指定日期前后月份信息的方法繁杂且实用性不足的问题,经过深入研究,本文提供一种简洁有效的解决思路与具体实现方式。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
import calendar
time = datetime.date(2017, 7, 20) #年,月,日
#求该月第一天
first_day = datetime.date(time.year, time.month, 1)
print u'该月第一天:' + str(first_day)
#求前一个月的第一天
#前一个月最后一天
pre_month = first_day - datetime.timedelta(days = 1) #timedelta是一个不错的函数
print u'前一个月最后一天:' + str(pre_month)
#前一个月的第一天
first_day_of_pre_month = datetime.date(pre_month.year, pre_month.month, 1)
print u'前一个月的第一天:' + str(first_day_of_pre_month)
#求后一个月的第一天
days_num = calendar.monthrange(first_day.year, first_day.month)[1] #获取一个月有多少天
first_day_of_next_month = first_day + datetime.timedelta(days = days_num) #当月的最后一天只需要days_num-1即可
print u'后一个月的第一天:' + str(first_day_of_next_month)

代码执行后的输出结果如下所示:

该月第一天:2017-07-01 前一个月最后一天:2017-06-30 前一个月的第一天:2017-06-01 后一个月的第一天:2017-08-01

此外,推荐以下在线日期计算工具供进一步使用:

在线天数计算器: http://tools.jb51.net/jisuanqi/datejsq

日期天数差计算器: http://tools.jb51.net/jisuanqi/onlinedatejsq

在线日期计算器/相差天数计算器: http://tools.jb51.net/jisuanqi/datecalc

在线日期/天数计算器: http://tools.jb51.net/jisuanqi/date_jisuanqi

如需了解更多Python相关知识,可参考本站专题:《Python日期与时间操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》。

希望本文提供的代码示例与解析对读者的Python编程实践有所帮助。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。