【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 求下个月的最后一天的更多相关文章

  1. 使用python求字符串或文件的MD5

    使用python求字符串或文件的MD5 五月 21st, 2008 #以下可在python3000运行. #字符串md5,用你的字符串代替'字符串'中的内容. import hashlib md5=h ...

  2. python求微分方程组的数值解曲线01

    本人最近在写一篇关于神经网络同步的文章,其一部分模型为: x_i^{\Delta}(t)= -a_i*x_i(t)+ b_i* f(x_i(t))+ \sum\limits_{j \in\{i-1, ...

  3. Python 求点到直线的垂足

    Python 求点到直线的垂足 在已知一个点,和一条已知两个点的直线的情况下 运算公式参考链接:https://www.cnblogs.com/mazhenyu/p/3508735.html def ...

  4. python求100以内素数

    python求100以内素数之和 from math import sqrt # 使用isPrime函数 def isPrime(n): if n <= 1: return False for ...

  5. Python 求两个文本文件以行为单位的交集 并集 差集

    Python 求两个文本文件以行为单位的交集 并集 差集,来代码: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r') ...

  6. python求极值点(波峰波谷)

    python求极值点主要用到scipy库. 1. 首先可先选择一个函数或者拟合一个函数,这里选择拟合数据:np.polyfit import pandas as pd import matplotli ...

  7. Python求一个数字列表的元素总和

    Python求一个数字列表的元素总和.练手: 第一种方法,直接sum(list): 1 lst = list(range(1,11)) #创建一个1-10的数字列表 2 total = 0 #初始化总 ...

  8. python 求MD5值

    (一)求字符串的MD5值 import hashlib #导入功能模块,此模块有MD5,SHA1,SHA256等方法 m = hashlib.md5() #声明一个对象 m.update(b'hell ...

  9. python求线性回归斜率

    一. 先说我对这个题目的理解 直线的x,y方程是这样的:y = kx+b, k就是斜率. 求线性回归斜率, 就是说 有这么一组(x, y)的对应值——样本.如果有四组,就说样本量是4.根据这些样本,做 ...

随机推荐

  1. activity间回传数据

    1,布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android ...

  2. iptables 要点总结

    http://jiayu0x.com/2014/12/02/iptables-essential-summary/

  3. linux之ifconfig命令

    1.命令格式: ifconfig [网络设备] [参数] 2.命令功能: ifconfig 命令用来查看和配置网络设备.当网络环境发生改变时可通过此命令对网络进行相应的配置. 3.命令参数: up 启 ...

  4. 【转】matlab 字符串处理函数

    原文地址 matlab 字符串处理函数 % 字符串处理 a='  a';b='b  b';c='cccc';m='' % 获取字符串长度 length(a)     % 连接两个字符串,每个字符串最右 ...

  5. ios 字体类型设置 倾斜加粗等

    后面加-Bold就是加粗 加-Oblique就是倾斜等 还有不懂请看http://iosfonts.com/ iPhone 5.0 iPad 5.0 Font Families: 58 Font Fa ...

  6. 响应头里的"Last-Modified"值是怎么来的?

    1.如图所示,app.js文件得到的响应头的"Last-Modified"数值是:Mon, 09 Sep 2013 09:18:22 GMT 我们查看服务器上的app.js文件的修 ...

  7. python 实现创建文件夹和创建日志文件

    一.实现创建文件夹和日志 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author: nulige import os import datetime ...

  8. java 文件上传数据库

    存储文件的数据库类型: 1.oracle :Blob,bfile类型 2.mysql:longblob类型 3.sqlserver :varbinary(Max)类型 文件都是以二进制流存入数据库的, ...

  9. Hive 性能调优

    避免执行MR select * or select field1,field2 limit 10 where语句中只有分区字段或该表的本地字段 使用本地set hive.exec.mode.local ...

  10. Linux7个runlevel

    Linux系统有7个运行级别(runlevel) 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆 运行级别 ...