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


Posted in Python onMay 29, 2018

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

Python 相关文章推荐
tensorflow实现对图片的读取的示例代码
Feb 12 Python
在python中bool函数的取值方法
Nov 01 Python
pandas的连接函数concat()函数的具体使用方法
Jul 09 Python
解决Python中pandas读取*.csv文件出现编码问题
Jul 12 Python
Django中reverse反转并且传递参数的方法
Aug 06 Python
python接口自动化如何封装获取常量的类
Dec 24 Python
Python 读取有公式cell的结果内容实例方法
Feb 17 Python
解决阿里云邮件发送不能使用25端口问题
Aug 07 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
Nov 17 Python
python中绕过反爬虫的方法总结
Nov 25 Python
python 图像增强算法实现详解
Jan 24 Python
Django rest framework如何自定义用户表
Jun 09 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 #Python
Python根据指定日期计算后n天,前n天是哪一天的方法
May 29 #Python
python 将md5转为16字节的方法
May 29 #Python
python 利用栈和队列模拟递归的过程
May 29 #Python
查看django执行的sql语句及消耗时间的两种方法
May 29 #Python
让Django支持Sql Server作后端数据库的方法
May 29 #Python
Django 浅谈根据配置生成SQL语句的问题
May 29 #Python
You might like
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
强烈推荐:php.ini中文版(2)
2006/10/09 PHP
在JavaScript中调用php程序
2009/03/09 PHP
JS异常处理try..catch语句的作用和实例
2014/05/05 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
js设置function参数默认值(适合没有传参情况)
2014/02/24 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
2016/03/01 Javascript
Jquery ajax请求导出Excel表格的实现代码
2016/06/08 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
JS常用算法实现代码
2016/11/14 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
JS中offset和匀速动画详解
2018/02/06 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
python 统计列表中不同元素的数量方法
2018/06/29 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
浅谈基于Canvas的手绘风格图形库Rough.js
2018/03/19 HTML / CSS
适合各种场合的美食礼品:Harry & David
2016/08/03 全球购物
Desigual英国官网:在线购买原创服装
2018/03/09 全球购物
The North Face官方旗舰店:美国著名户外品牌
2020/09/28 全球购物
定义一结构体变量,用其表示点坐标,并输入两点坐标,求两点之间的距离
2015/08/17 面试题
写演讲稿要注意的六件事
2014/01/14 职场文书
董事长秘书工作职责
2014/06/10 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
2015年毕业生自我鉴定模板
2014/09/19 职场文书
群众路线自我剖析及整改措施
2014/11/04 职场文书
先进班集体事迹材料
2014/12/25 职场文书
团队拓展训练心得体会
2016/01/12 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server
mysql sock文件存储了什么信息
2022/07/15 MySQL