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 相关文章推荐
Python实现子类调用父类的方法
Nov 10 Python
Python第三方库的安装方法总结
Jun 06 Python
详解Django 中是否使用时区的区别
Jun 14 Python
Python Flask前后端Ajax交互的方法示例
Jul 31 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
Dec 24 Python
Python3并发写文件与Python对比
Nov 20 Python
tensorflow2.0保存和恢复模型3种方法
Feb 03 Python
浅谈tensorflow之内存暴涨问题
Feb 05 Python
python基于socket函数实现端口扫描
May 28 Python
Django Form设置文本框为readonly操作
Jul 03 Python
Python列表推导式实现代码实例
Sep 09 Python
Python 的 sum() Pythonic 的求和方法详细
Oct 16 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
PHP使用MPDF类生成PDF的方法
2015/12/08 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
jQuery AjaxQueue改进步骤
2011/10/06 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
2012/01/13 Javascript
通过jQuery源码学习javascript(一)
2012/12/27 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
2015/05/20 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
JS使用eval()动态创建变量的方法
2016/06/03 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
three.js实现3D视野缩放效果
2017/11/16 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
浅谈Redux中间件的实践
2018/07/27 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
jQuery easyui datagird编辑行删除行功能的实现代码
2018/09/20 jQuery
Vue中使用方法、计算属性或观察者的方法实例详解
2018/10/31 Javascript
深入浅析ng-bootstrap 组件集中 tabset 组件的实现分析
2019/07/19 Javascript
js实现无缝轮播图
2020/03/09 Javascript
python基于隐马尔可夫模型实现中文拼音输入
2016/04/01 Python
Python实现对文件进行单词划分并去重排序操作示例
2018/07/10 Python
Python pycharm 同时加载多个项目的方法
2019/01/17 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
SAZAC的动物连体衣和动物睡衣:Kigurumi Shop
2020/03/14 全球购物
凌阳科技股份有限公司C++程序员面试题笔试题
2014/11/20 面试题
办公文员的工作岗位职责
2013/11/12 职场文书
结构工程个人自荐信范文
2013/11/30 职场文书
试用期转正鉴定评语
2014/01/27 职场文书
诉讼代理人授权委托书
2014/10/11 职场文书
2015年物业公司保洁工作总结
2015/10/22 职场文书
2016年清明节网上祭英烈活动总结
2016/04/01 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python