python 求下个月的最后一天
【1】根据当前月求上个月、下个月的最后一天
(1)求当前月最后一天
(2)求前一个月的最后一天
(3)求下一个月的最后一天
学习示例与应用实例,代码如下:
#!/usr/bin/python3
#-*- coding: utf-8 -*-
import datetime
import calendar
# 理论学习示例
print('理论学习示例')
time = datetime.date(2018, 12, 23) # 年,月,日
print('year : ' + str(time.year) + ' month : ' + str(time.month))
# 求当前月第一天
first_day = datetime.date(time.year, time.month, 1)
print ('当前月的第一天:' + str(first_day))
# 求当前月的最后一天
days_num = calendar.monthrange(first_day.year, first_day.month)[1] # 获取当前月有多少天
last_day_of_current_month = first_day + datetime.timedelta(days = days_num - 1) # 当前月的最后一天只需要days_num - 1 即可
print ('当前月最后一天:' + str(last_day_of_current_month))
# 求前一个月最后一天
pre_month = first_day - datetime.timedelta(days = 1) # timedelta是一个不错的函数
print ('前一个月最后一天:' + str(pre_month))
# 求前一个月的第一天
first_day_of_pre_month = datetime.date(pre_month.year, pre_month.month, 1)
print ('前一个月的第一天:' + str(first_day_of_pre_month))
# 求下个月的第一天
first_day_of_next_month = first_day + datetime.timedelta(days = days_num)
print ('下个月的第一天:' + str(first_day_of_next_month))
# 求下个月的最后一天
next_month_days = calendar.monthrange(first_day_of_next_month.year, first_day_of_next_month.month)[1] # 获取下个月有多少天
next_month = first_day_of_next_month + datetime.timedelta(days = next_month_days - 1)
print ('下个月最后一天:' + str(next_month))
print('\n')
# 应用实例
print('应用实例')
cycleid = "
print('cycleid_year : ' + str(cycleid[0:4]) + ' cycleid_month : ' + str(cycleid[4:6]))
month = int(cycleid[4:6])
print("month : " + str(month))
first_day_of_current_cycleid = datetime.date(int(cycleid[0:4]), int(cycleid[4:6]), 1)
print("first_day : " + str(first_day_of_current_cycleid))
def getNextCycleidFirstDay() :
first_day_of_current_cycleid = datetime.date(int(cycleid[0:4]), int(cycleid[4:6]), 1)
days_num = calendar.monthrange(first_day_of_current_cycleid.year, first_day_of_current_cycleid.month)[1]
first_day_of_next_cycleid = first_day_of_current_cycleid + datetime.timedelta(days = days_num)
return first_day_of_current_cycleid, first_day_of_next_cycleid
current_fd, next_fd = getNextCycleidFirstDay()
print("current_fd : " + str(current_fd) + " next_fd : " + str(next_fd))
'''
理论学习示例
year : 2018 month : 12
当前月的第一天:2018-12-01
当前月最后一天:2018-12-31
前一个月最后一天:2018-11-30
前一个月的第一天:2018-11-01
下个月的第一天:2019-01-01
下个月最后一天:2019-01-31
应用实例
cycleid_year : 2019 cycleid_month : 12
month : 12
first_day : 2019-12-01
current_fd : 2019-12-01 next_fd : 2020-01-01
'''
Good Good Study, Day Day Up.
顺序 选择 循环 总结
python 求下个月的最后一天的更多相关文章
- 使用python求字符串或文件的MD5
使用python求字符串或文件的MD5 五月 21st, 2008 #以下可在python3000运行. #字符串md5,用你的字符串代替'字符串'中的内容. import hashlib md5=h ...
- python求微分方程组的数值解曲线01
本人最近在写一篇关于神经网络同步的文章,其一部分模型为: x_i^{\Delta}(t)= -a_i*x_i(t)+ b_i* f(x_i(t))+ \sum\limits_{j \in\{i-1, ...
- Python 求点到直线的垂足
Python 求点到直线的垂足 在已知一个点,和一条已知两个点的直线的情况下 运算公式参考链接:https://www.cnblogs.com/mazhenyu/p/3508735.html def ...
- python求100以内素数
python求100以内素数之和 from math import sqrt # 使用isPrime函数 def isPrime(n): if n <= 1: return False for ...
- Python 求两个文本文件以行为单位的交集 并集 差集
Python 求两个文本文件以行为单位的交集 并集 差集,来代码: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r') ...
- python求极值点(波峰波谷)
python求极值点主要用到scipy库. 1. 首先可先选择一个函数或者拟合一个函数,这里选择拟合数据:np.polyfit import pandas as pd import matplotli ...
- Python求一个数字列表的元素总和
Python求一个数字列表的元素总和.练手: 第一种方法,直接sum(list): 1 lst = list(range(1,11)) #创建一个1-10的数字列表 2 total = 0 #初始化总 ...
- python 求MD5值
(一)求字符串的MD5值 import hashlib #导入功能模块,此模块有MD5,SHA1,SHA256等方法 m = hashlib.md5() #声明一个对象 m.update(b'hell ...
- python求线性回归斜率
一. 先说我对这个题目的理解 直线的x,y方程是这样的:y = kx+b, k就是斜率. 求线性回归斜率, 就是说 有这么一组(x, y)的对应值——样本.如果有四组,就说样本量是4.根据这些样本,做 ...
随机推荐
- 【NOIP模拟赛】【数学真奇妙】【递推】旅行者问题
旅行者问题 [问题描述] lahub是一个旅行者的粉丝,他想成为一个真正的旅行者,所以他计划开始一段旅行.lahub想去参观n个目的地(都在一条直道上).lahub在起点开始他的旅行.第i个目的地和起 ...
- 如何隐藏 Safari 中 input 标签的 autofill 图标
Safari 浏览器会为 <input type="passport"> 标签自动添加一个小锁的图标(如下图),本意上是让用户可以从这里选择相应的 用户名/密码 进行自 ...
- 【Linux】linux下查看目录所在分区
命令如下: df -h 目录名 具体使用例子如下:查看/home/sxd/文档处于哪个分区 ------------------------------------------------------ ...
- JAVA常见算法题(十一)
package com.xiaowu.demo; /** * 有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? * * * @author WQ * */ public c ...
- 从M个数中随机等可能的取出N个的问题
从0到m-1这m个数中随机取出n个(n<=m) 要求每个数被取到的可能性相等. 第一个方法是把这m个数丢到一个List里面 然后用nextInt(list.size())来产生随机数 然后把li ...
- 理解Hbase RowKey的字典排序;HBase Rowkey的散列与预分区设计
HBase是三维有序存储的,是指rowkey(行键),column key(column family和qualifier)和TimeStamp(时间戳)这个三个维度是依照ASCII码表排序的. HB ...
- 关于iframe的高度自适应问题(js)
function SetCwinHeight() { var cwin=document.getElementById("cwin"); if (document.getEleme ...
- 将ascll码转换成数值进行运算
#include "stdlib.h"#include "stdio.h"int main() { char a[8] = { 49,32,33,61,62,6 ...
- nginx静态资源配置
解决EE工程中静态文件显示问题 在工程中本地测试没有问题,发现使用nginx配置了路径的页面,会获取不到相应页面的静态文件问题 静态文件的路径类似为: http://localhost:8080/sa ...
- 转:全面分析 Spring 的编程式事务管理及声明式事务管理
转:from: https://www.ibm.com/developerworks/cn/education/opensource/os-cn-spring-trans/