欢迎访问Python每天3分钟系列。
每天花3分钟时间,学习或温习一个Python知识点。今天是第048篇:
日历calendar
新年伊始,让我们来看看日历。
Python有一个专门处理日历的模块,小巧而强大。下面直接上代码。
打印某个月份的日历
import calendar
c = calendar.TextCalendar(calendar.MONDAY)
str = c.formatmonth(2022, 2)
print(str)
输出结果:
February 2022
Mo Tu We Th Fr Sa Su
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
是不是挺cool的?
-
calendar.TextCalendar(calendar.MONDAY)
表示创建一个文本形式(Text)的日历,日历的每周从星期一开始。很多西方国家是从星期天作为一周的开始的。 -
上面的代码打印了2022年2月份的日历。
我们可以换一下参数,从星期天开始:
c = calendar.TextCalendar(calendar.SUNDAY)
打印结果成了:
February 2022
Su Mo Tu We Th Fr Sa
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
用HTML格式打印
除了Text格式的的日历,calendar还可以打印HTML形式的日历:
import calendar
c = calendar.HTMLCalendar(calendar.MONDAY)
str = c.formatmonth(2022, 2)
print(str)
注意这里唯一的区别是TextCalendar
变成了HTMLCalendar
。打印的结果是一个HTML的表格:
<table border="0" cellpadding="0" cellspacing="0" class="month">
<tr><th colspan="7" class="month">February 2022</th></tr>
<tr><th class="mon">Mon</th><th class="tue">Tue</th><th class="wed">Wed</th><th class="thu">Thu</th><th class="fri">Fri</th><th class="sat">Sat</th><th class="sun">Sun</th></tr>
<tr><td class="noday"> </td><td class="tue">1</td><td class="wed">2</td><td class="thu">3</td><td class="fri">4</td><td class="sat">5</td><td class="sun">6</td></tr>
<tr><td class="mon">7</td><td class="tue">8</td><td class="wed">9</td><td class="thu">10</td><td class="fri">11</td><td class="sat">12</td><td class="sun">13</td></tr>
<tr><td class="mon">14</td><td class="tue">15</td><td class="wed">16</td><td class="thu">17</td><td class="fri">18</td><td class="sat">19</td><td class="sun">20</td></tr>
<tr><td class="mon">21</td><td class="tue">22</td><td class="wed">23</td><td class="thu">24</td><td class="fri">25</td><td class="sat">26</td><td class="sun">27</td></tr>
<tr><td class="mon">28</td><td class="noday"> </td><td class="noday"> </td><td class="noday"> </td><td class="noday"> </td><td class="noday"> </td><td class="noday"> </td></tr>
</table>
循环一个月中的每一天
for d in c.itermonthdays(2022, 2):
print(d)
输出结果是按照这个日历表上的顺序输出第几天:
February 2022
Mo Tu We Th Fr Sa Su
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
如果不是本月的天,则会用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
0
0
0
0
0
0
其他用法
# 输出月份
for m in calendar.month_name:
print(m)
结果:
January
February
March
April
May
June
July
August
September
October
November
December
# 输出星期几
for d in calendar.day_name:
print(d)
结果:
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
好啦,今天就聊到这里,有问题给我留言。
相关链接:
Python每天3分钟 #046 – 调试小能手icecream
Python每天3分钟 #045 – 代码块block和缓存机制
原文链接:https://www.afxvip.com/5640.html,转载请注明出处。
评论0