calendar模块:
跟日历相关的若干函数和类,可以生成文本形式的日历
常用函数:
calendar.calendar(<年>)
calendar.month(<年>,<月>)
calendar.prmonth(<年>,<月>)
calendar.rcal(<年>)
>>> import calendar
>>> calendar.month(2019,3)
' March 2019\nMo Tu We Th Fr Sa Su\n 1 2 3\n 4 5 6 7 8 9 10\n11 12 13 14 15 16 17\n18 19 20 21 22 23 24\n25 26 27 28 29 30 31\n'
>>> print(calendar.month(2019,3))
March 2019
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 29 30 31
>>> calendar.prmonth(2019,4)
April 2019
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
29 30
>>> calendar.calendar(2019)
' 2019\n\n January February March\nMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n 1 2 3 4 5 6 1 2 3 1 2 3\n 7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10\n14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17\n21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24\n28 29 30 31 25 26 27 28 25 26 27 28 29 30 31\n\n April May June\nMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n 1 2 3 4 5 6 7 1 2 3 4 5 1 2\n 8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9\n15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16\n22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23\n29 30 27 28 29 30 31 24 25 26 27 28 29 30\n\n July August September\nMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n 1 2 3 4 5 6 7 1 2 3 4 1\n 8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8\n15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15\n22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22\n29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29\n 30\n\n October November December\nMo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su\n 1 2 3 4 5 6 1 2 3 1\n 7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8\n14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15\n21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22\n28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29\n 30 31\n'
>>> calendar.prcal(2019)
2019
January February March
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 1 2 3 1 2 3
7 8 9 10 11 12 13 4 5 6 7 8 9 10 4 5 6 7 8 9 10
14 15 16 17 18 19 20 11 12 13 14 15 16 17 11 12 13 14 15 16 17
21 22 23 24 25 26 27 18 19 20 21 22 23 24 18 19 20 21 22 23 24
28 29 30 31 25 26 27 28 25 26 27 28 29 30 31
April May June
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 5 1 2
8 9 10 11 12 13 14 6 7 8 9 10 11 12 3 4 5 6 7 8 9
15 16 17 18 19 20 21 13 14 15 16 17 18 19 10 11 12 13 14 15 16
22 23 24 25 26 27 28 20 21 22 23 24 25 26 17 18 19 20 21 22 23
29 30 27 28 29 30 31 24 25 26 27 28 29 30
July August September
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 7 1 2 3 4 1
8 9 10 11 12 13 14 5 6 7 8 9 10 11 2 3 4 5 6 7 8
15 16 17 18 19 20 21 12 13 14 15 16 17 18 9 10 11 12 13 14 15
22 23 24 25 26 27 28 19 20 21 22 23 24 25 16 17 18 19 20 21 22
29 30 31 26 27 28 29 30 31 23 24 25 26 27 28 29
30
October November December
Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su
1 2 3 4 5 6 1 2 3 1
7 8 9 10 11 12 13 4 5 6 7 8 9 10 2 3 4 5 6 7 8
14 15 16 17 18 19 20 11 12 13 14 15 16 17 9 10 11 12 13 14 15
21 22 23 24 25 26 27 18 19 20 21 22 23 24 16 17 18 19 20 21 22
28 29 30 31 25 26 27 28 29 30 23 24 25 26 27 28 29
30 31
将日历列表化:
calendar.monthcalendar()
返回某一年的某一个月份日历,是一个嵌套列表
最里层的列表含有七个元素,代表一周(从周一到周日)
如果没有本月的日期,则为0
>>> import calendar
>>> calendar.monthcalendar(2019,3)
[[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]]
判别闰年:
普通闰年:能被4整除但不能被100整除的年份
世纪闰年:能被400整除的年份
calendar.isleap(<年>)
>>> calendar.isleap(2019)
False
>>> calendar.isleap(2020)
True
计算某月共有多少天,从周几开始?
从0开始,依次为周一、周二...
计算某天是周几?
返回值为0到6,依次对应的是周一到周日
>>> import calendar
>>> calendar.monthrange(2019,3)
(4, 31)
>>> calendar.weekday(2019,3,3)
6
time模块:
获取时间戳:time.time()方法
时间戳的用处:记录程序运行的时间
import time
t1 = time.time()
a = 0
for i in range(10000):
a += i
print(a)
t2 = time.time()
print(t2-t1)
>>>
49995000
0.018352031707763672 #s
获取当前时间:
time.asctime()
time.ctime()
>>> import time
>>> time.asctime()
'Thu Jun 27 12:53:06 2019'
>>> time.ctime()
'Thu Jun 27 12:54:16 2019'
将元组数据转化为日期:
>>> import time
>>> t = (2019,6,17,12,54,16,0,0,0)
>>> time.asctime(t)
'Mon Jun 17 12:54:16 2019'
这一系列的数值分别对应年、月、日、时、分、秒、周几、一年中的第几天、是否为夏令时间
三、利用索引获取时间信息:
struct_time类:
>>> import time
>>> time.localtime()
time.struct_time(tm_year=2019, tm_mon=6, tm_mday=27, tm_hour=12, tm_min=59, tm_sec=22, tm_wday=3, tm_yday=178, tm_isdst=0)
索引获取时间信息:
import time
t = time.localtime()
year = t[0]
print(year)
>>>
2019
让程序运行到某处便暂停几秒:
time.sleep()
import time
for i in range(3):
print(i)
t1 = time.time()
time.sleep(1)
t2 = time.time()
print(t2-t1)
>>>
0
1.0006928443908691
1
1.000385046005249
2
1.000338077545166