【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