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中使用items()方法返回字典元素对的教程
May 21 Python
在Python的Django框架中编写编译函数
Jul 20 Python
Python中在for循环中嵌套使用if和else语句的技巧
Jun 20 Python
python实现对求解最长回文子串的动态规划算法
Jun 02 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
Oct 29 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
Python3获取电脑IP、主机名、Mac地址的方法示例
Apr 11 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
Aug 09 Python
pyinstaller打包opencv和numpy程序运行错误解决
Aug 16 Python
详解Python中的分支和循环结构
Feb 11 Python
python在地图上画比例的实例详解
Nov 13 Python
Django视图类型总结
Feb 17 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学习之PHP运算符
2006/10/09 PHP
MySQL连接数超过限制的解决方法
2011/07/17 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
javascript高亮效果的二种实现方法
2008/09/14 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
JQuery中ajax方法访问web服务实例
2015/07/18 Javascript
jquery马赛克拼接翻转效果代码分享
2015/08/24 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
vue2.0在table中实现全选和反选的示例代码
2017/11/04 Javascript
Vue+Node实现商品列表的分页、排序、筛选,添加购物车功能详解
2019/12/07 Javascript
vue更改数组中的值实例代码详解
2020/02/07 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
Python下的Mysql模块MySQLdb安装详解
2014/04/09 Python
python常见排序算法基础教程
2017/04/13 Python
Python分析学校四六级过关情况
2017/11/22 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
Django实现文件上传下载
2019/10/06 Python
TensorFlow实现自定义Op方式
2020/02/04 Python
解决import tensorflow as tf 出错的原因
2020/04/16 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
基于Python模拟浏览器发送http请求
2020/11/06 Python
中学生运动会口号
2014/06/07 职场文书
升学宴演讲稿
2014/09/01 职场文书
考试作弊检讨
2015/01/27 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
IIS服务器中设置HTTP重定向访问HTTPS
2022/04/29 Servers