【1】根据当前月求上个月、下个月的最后一天python
(1)求当前月最后一天函数
(2)求前一个月的最后一天学习
(3)求下一个月的最后一天spa
学习示例与应用实例,代码以下:code
1 #!/usr/bin/python3 2 #-*- coding: utf-8 -*- 3 4 import datetime 5 import calendar 6 7 # 理论学习示例 8 print('理论学习示例') 9 10 time = datetime.date(2018, 12, 23) # 年,月,日 11 12 print('year : ' + str(time.year) + ' month : ' + str(time.month)) 13 14 # 求当前月第一天 15 first_day = datetime.date(time.year, time.month, 1) 16 print ('当前月的第一天:' + str(first_day)) 17 18 # 求当前月的最后一天 19 days_num = calendar.monthrange(first_day.year, first_day.month)[1] # 获取当前月有多少天 20 last_day_of_current_month = first_day + datetime.timedelta(days = days_num - 1) # 当前月的最后一天只须要days_num - 1 便可 21 print ('当前月最后一天:' + str(last_day_of_current_month)) 22 23 # 求前一个月最后一天 24 pre_month = first_day - datetime.timedelta(days = 1) # timedelta是一个不错的函数 25 print ('前一个月最后一天:' + str(pre_month)) 26 27 # 求前一个月的第一天 28 first_day_of_pre_month = datetime.date(pre_month.year, pre_month.month, 1) 29 print ('前一个月的第一天:' + str(first_day_of_pre_month)) 30 31 # 求下个月的第一天 32 first_day_of_next_month = first_day + datetime.timedelta(days = days_num) 33 print ('下个月的第一天:' + str(first_day_of_next_month)) 34 35 # 求下个月的最后一天 36 next_month_days = calendar.monthrange(first_day_of_next_month.year, first_day_of_next_month.month)[1] # 获取下个月有多少天 37 next_month = first_day_of_next_month + datetime.timedelta(days = next_month_days - 1) 38 print ('下个月最后一天:' + str(next_month)) 39 40 print('\n') 41 # 应用实例 42 43 print('应用实例') 44 45 cycleid = "201912" 46 47 print('cycleid_year : ' + str(cycleid[0:4]) + ' cycleid_month : ' + str(cycleid[4:6])) 48 49 month = int(cycleid[4:6]) 50 print("month : " + str(month)) 51 52 first_day_of_current_cycleid = datetime.date(int(cycleid[0:4]), int(cycleid[4:6]), 1) 53 print("first_day : " + str(first_day_of_current_cycleid)) 54 55 def getNextCycleidFirstDay() : 56 first_day_of_current_cycleid = datetime.date(int(cycleid[0:4]), int(cycleid[4:6]), 1) 57 days_num = calendar.monthrange(first_day_of_current_cycleid.year, first_day_of_current_cycleid.month)[1] 58 first_day_of_next_cycleid = first_day_of_current_cycleid + datetime.timedelta(days = days_num) 59 return first_day_of_current_cycleid, first_day_of_next_cycleid 60 61 current_fd, next_fd = getNextCycleidFirstDay() 62 print("current_fd : " + str(current_fd) + " next_fd : " + str(next_fd)) 63 64 ''' 65 理论学习示例 66 year : 2018 month : 12 67 当前月的第一天:2018-12-01 68 当前月最后一天:2018-12-31 69 前一个月最后一天:2018-11-30 70 前一个月的第一天:2018-11-01 71 下个月的第一天:2019-01-01 72 下个月最后一天:2019-01-31 73 74 75 应用实例 76 cycleid_year : 2019 cycleid_month : 12 77 month : 12 78 first_day : 2019-12-01 79 current_fd : 2019-12-01 next_fd : 2020-01-01 80 '''
Good Good Study, Day Day Up.blog
顺序 选择 循环 总结utf-8