使用python获取某个月的天数和日期

       可以使用python的标准库calendar,如下代码所示。

import calendar

res = calendar.monthrange(2020,5)
print(res)
[out]:
(4,31) #该元组中,第一个元素表示5月份第一天是周五(0表示周一,6表示周日),第二个元素表示天数

       此外还可以直接获取一个月的所有具体日期的迭代器,返回datetime.date。如下所示。下面两个例子中,分别使用了calendar.Calendar().itermonthdates(year,month)和calendar.Calendar().itermonthdays(year,month)函数,前者返回日期的迭代器,后者返回第几天的迭代器。要注意的是,返回的并不恰好是对应月份的日期和天数,而是为了凑成完整的一周,会返回部分的邻近月份的日期,这样前后都刚好的完整的一周。前者返回的临近月份的也是日期,而后者对于非本月的天数,返回的则是0。

如下所示,返回的最后一天恰好是2020年5月份最后一天,说明2020年5月31号恰好的周日,即一周的最后一天,这样就是完整的一周了,所以不会返回6月份的日期以补全凑成一周。

import calendar

days = calendar.Calendar().itermonthdates(2020,5)
for day in days:
    print(day)
[out]:
2020-04-27
2020-04-28
2020-04-29
2020-04-30
2020-05-01
2020-05-02
2020-05-03
2020-05-04
2020-05-05
2020-05-06
2020-05-07
2020-05-08
2020-05-09
2020-05-10
2020-05-11
2020-05-12
2020-05-13
2020-05-14
2020-05-15
2020-05-16
2020-05-17
2020-05-18
2020-05-19
2020-05-20
2020-05-21
2020-05-22
2020-05-23
2020-05-24
2020-05-25
2020-05-26
2020-05-27
2020-05-28
2020-05-29
2020-05-30
2020-05-31

days = calendar.Calendar().itermonthdates(2020,5)
for day in days:
    print(day)
[out]:0
0
0
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

猜你喜欢

转载自blog.csdn.net/S_o_l_o_n/article/details/106438099