当前位置: 首页 > 编程笔记 >

Python计算一个给定时间点前一个月和后一个月第一天的方法

伍弘盛
2023-03-14
本文向大家介绍Python计算一个给定时间点前一个月和后一个月第一天的方法,包括了Python计算一个给定时间点前一个月和后一个月第一天的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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

PS:这里再为大家推荐几款相关在线工具供大家参考:

在线天数计算器:
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程序设计有所帮助。

 类似资料:
  • 问题内容: 我在计算本月下一个最后一天何时发送预定的通知时遇到问题。 这是我的代码: 这是导致问题的线,我相信: 如何使用日历正确设置下个月的通知的最后一天? 问题答案: 这将返回当前月份的实际最大值。例如,现在是leap年的2月,因此它返回29作为。

  • 问题内容: 我正在寻找获取上个月第一天和最后一天的最佳方法。我使用它们进行SQL查询以获取上个月的统计信息。 我认为这是最好的方法,更优化但又不那么全面,有人有另一种方法可以做到这一点吗? 谢谢!! 问题答案: 在PHP 5.3中,您可以使用类:

  • 问题内容: 我正在尝试选择当前日期前三个月的每月的第一天。 因此,例如,如果当前日期是:“ 2015-11-08”,我的结果将是:“ 2015-08-01” 我希望这是yyyy-mm-dd格式。 我从一开始就尝试过,但是没有运气: 我已经尝试了很多事情,但似乎无法破解,任何建议或帮助都将不胜感激。先感谢您 问题答案: 逻辑很简单: 减去当月的日期减去日期后的1天 减去三个月 在SQL Server

  • 问题 你需要去找出一个月的最后一天,但是一年中的各月并没有一个固定时间表。 解决方案 利 用JavaScript 的日期下溢来找到给出月份的第一天: now = new Date lastDayOfTheMonth = new Date(1900+now.getYear(), now.getMonth()+1, 0) 讨论 JavaScript 的日期构造函数成功地处理溢出和下溢情况,使日期的计算

  • 所以我需要制作一个基本日历,显示特定年份和月份的日历(用户应该能够根据文本输入选择任何月份和任何年份)。 到目前为止,我已经成功地创建了一个日历obj,使用扫描仪从用户那里获取所需的月份和年份,但我的问题是,我如何找出一个月的第一天是什么?在上面的例子中,今天是星期六。我构建它的逻辑是,如果我知道第一天,我可以创建一个字符串[][]数组,通过循环从第一天开始的月份,开始显示相关日期的日期。我用扫描

  • 当我运行上面的查询以从当前日期获取上个月的第一天和最后一天时,我得到了一个如下所述的错误。 错误:Amazon无效操作:函数pg_catalog.date_diff(“未知”,整数,不带时区的时间戳)不存在;[SQL State=42883,DB ErrorCode=500310] 请帮我解决这个问题。