码迷,mamicode.com
首页 > 其他好文 > 详细

计算从今天起上一个月的日期

时间:2015-08-14 13:15:08      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:

 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)

 

计算从今天起上一个月的日期

标签:

原文地址:http://www.cnblogs.com/hushaojun/p/4729420.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!