zoukankan      html  css  js  c++  java
  • 计算从今天起上一个月的日期

     1 from datetime import *
     2 import calendar
     3 
     4 def get_monthago_date():
     5     nowtime = date.today()
     6     nowtime_year = nowtime.year
     7     nowtime_month = nowtime.month
     8     nowtime_day = nowtime.day
     9     
    10     onemonthago = nowtime_month - 1    #减去一个月,判断是否为0,为0表示当前月份是1月份
    11     
    12     if onemonthago == 0:    #如果当前月份为1月份,就需要设置年份减去1,月份为12月
    13         oneyearago = nowtime_year - 1
    14         onemonthago = 12
    15         monthindex, monthdays = calendar.monthrange(oneyearago, onemonthago)    #获取上一个月有多少天
    16         
    17         if monthdays >= nowtime_day:    #如果上一个月的总天数大于当前日期就用当前的日期
    18             onemonthdate = nowtime.replace(year=oneyearago, month=onemonthago, day=nowtime_day)
    19         else:    #如果上一个月的总天数都小于当前的日期(2月28和3.31这种情况)就使用上个月的最大日期
    20             onemonthdate = nowtime.replace(year=oneyearago, month=onemonthago, day=monthdays)
    21             
    22         return onemonthdate.strftime('%Y-%m-%d')
    23     else:
    24         monthindex, monthdays = calendar.monthrange(nowtime_year, onemonthago)
    25         
    26         if monthdays >= nowtime_day:
    27             onemonthdate = nowtime.replace(year=nowtime_year, month=onemonthago, day=nowtime_day)
    28         else:
    29             onemonthdate = nowtime.replace(year=nowtime_year, month=onemonthago, day=monthdays)
    30             
    31         return onemonthdate.strftime('%Y-%m-%d')
  • 相关阅读:
    linux C总结篇(进程)
    进程与线程的区分
    递归的两种思路
    Linux下git与github的一般使用
    文件读写和文件指针的移动
    文件的创建,打开与关闭
    一个简单脚本
    linux 三剑客命令(grep,sed ,awk)
    常用正则表达式
    PAT:1002. A+B for Polynomials (25) 部分错误
  • 原文地址:https://www.cnblogs.com/hushaojun/p/4729420.html
Copyright © 2011-2022 走看看