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之编写类之四再论继承
Oct 11 Python
python使用xlrd模块读写Excel文件的方法
May 06 Python
Python中的with...as用法介绍
May 28 Python
python中的for循环
Sep 28 Python
pygame游戏之旅 创建游戏窗口界面
Nov 20 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
Apr 11 Python
节日快乐! Python画一棵圣诞树送给你
Dec 24 Python
Numpy 理解ndarray对象的示例代码
Apr 03 Python
Python 判断时间是否在时间区间内的实例
May 16 Python
python实现磁盘日志清理的示例
Nov 05 Python
Python用摘要算法生成token及检验token的示例代码
Dec 01 Python
python中如何对多变量连续赋值
Jun 03 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 归并排序 数组交集
2011/05/10 PHP
基于php下载文件的详解
2013/06/02 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
重定向实现代码
2006/11/20 Javascript
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
JavaScript字符串对象substr方法入门实例(用于截取字符串)
2014/10/16 Javascript
javascript实现确定和取消提示框效果
2015/07/10 Javascript
实例讲解jQuery中对事件的命名空间的运用
2016/05/24 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
写gulp遇到的ES6问题详解
2018/12/03 Javascript
解决axios post 后端无法接收数据的问题
2019/10/29 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
[48:45]Ti4 循环赛第二日 NEWBEE vs EG
2014/07/11 DOTA
[42:04]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第一局
2016/03/03 DOTA
[03:12]2016完美“圣”典风云人物:单车专访
2016/12/02 DOTA
Python while、for、生成器、列表推导等语句的执行效率测试
2015/06/03 Python
python3实现名片管理系统
2020/11/29 Python
Python设计模式之抽象工厂模式原理与用法详解
2019/01/15 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
在python中用url_for构造URL的方法
2019/07/25 Python
django drf框架中的user验证以及JWT拓展的介绍
2019/08/12 Python
Python的in,is和id函数代码实例
2020/04/18 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
意大利拉斐尔时尚购物网:Raffaello Network(支持中文)
2018/11/09 全球购物
网游商务专员求职信
2013/10/15 职场文书
音乐系毕业生自荐信
2013/10/27 职场文书
读书活动总结
2014/04/28 职场文书
分公司总经理岗位职责
2014/07/30 职场文书
党的群众路线学习笔记
2014/11/06 职场文书
英文感谢信格式
2015/01/21 职场文书
小学母亲节活动总结
2015/02/10 职场文书
关于分班的感言
2015/08/04 职场文书
MySQL 数据表操作
2022/05/04 MySQL