python 求下個月的最後一天

【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

相關文章
相關標籤/搜索