一.calendar:日历相关模块
1.calendar:获取一年的日历字符串
- 参数
w = 每个日期之间的间隔字符数
l = 每周所占用的行数
c = 每个月之间的间隔字符数
- 例子
import calendar
cal = calendar.calendar(2018,w=3,l=2,c=5) #可以不写参数,直接cal = calendar.calendar(2018)
print(type(cal))
print(cal)
2.isleap:判断某一年是否是闰年
- 例子
import calendar
print(calendar.isleap(2000))
3.leapdays:获取指定年份之间的闰年个数,前闭后开
import calendar
print(calendar.leapdays(2001,2025))
4.month:获取某个月日历的字符串
import calendar
print(calendar.month(2018,6))
5.monthrange:返回一个月从周几开始和天数
- 格式:monthrange(年,月),返回值为元组(周几开始,天数),周几默认0-6表示周一到周日
import calendar
print(calendar.monthrange(2018,6))
#另一种表示方法
p,q = calendar.monthrange(2018,6)
print(p)
print(q)
6.monthcalendar:返回一个月每天的矩阵列表
- 格式:monthcalendar(年,月),返回值:二级列表,注意:矩阵中没有的天数用0表示
import calendar
print(calendar.monthcalendar(2018,6))
7.prcal:直接打印日历
import calendar
calendar.prcal(2018)
8.prmonth:直接打印整个月的日历
import calendar
calendar.prmonth(2018,6)
9.weekday:获取周几
- 格式:weekday(年,月,日),返回值:0-6表示周一到周日
import calendar
print(calendar.weekday(2019,2,27))
二.time模块
1.时间戳
- 一个时间表时,跟具不同的语言可以是整数或者浮点数
- 表示从1970年1月1日0时0分0秒到现在经历的秒数
- 如果表示的是1970年以前或者太遥远的未来,可能会出现异常
- 32位系统可以支持到2038年
2.UTC时间
- 又称为世界协调时间,以英国格林尼治天文台所在地区为参考时间,也叫世界标准时间
- 中国时间是UTC+8,东八区
3.夏令时
- 夏令时就是夏天将时间调快一小时,督促人早起早睡,充分利用光照,节约资源,每天为25个小时,实际本质还是24小时
4.时间元祖
- 一个包含时间内容的普通元祖
5.timezone:当前时区和UTC时间相差的秒数,在没有夏令时的情况下的间隔
import time
print(time.timezone)
6.altzone:当前时区和UTC时间相差的秒数,在有夏令时的情况下的间隔
import time
print(time.altzone)
7.daylight:检测是否为夏令时状态,0表示是
import time
print(time.daylight)
8.time:得到时间戳
import time
print(time.time())
9.localtime:得到当前时间的时间结构
- 可以通过点号操作符得到相应的属性元素的内容
import time
t = time.localtime()
print(t)
print(t.tm_year)
10.asctime:返回元组的正常字符串化之后的时间格式
- 格式:asctime(时间元组)
import time
t = time.localtime()
print(time.asctime(t))
11.ctime:获取字符串化的当地时间
import time
t = time.ctime()
print(t)
print(type(t))
12.mktime:使用时间元组获取对应的时间戳
- 格式:mktime(时间元组),返回值:浮点数时间戳
import time
t = time.localtime()
ts = time.mktime(t)
print(ts)
print(type(ts))
13.clock:获取cpu时间,3.0-3.3直接使用,3.6调用有问题
14.sleep:使程序进入睡眠状态,n秒后继续
import time
for i in range(5):
print(i)
time.sleep(1) #每打印一个,休息1秒
15.strftime:将时间元组转化为自定义的字符串格式
#将时间表示为 **年**月**日**时**分**秒
# **年**月**日 **:**
import time
t=time.strftime('%Y{y}%m{m}%d{d} %H{h}%M{f}%S{s}').format(y='年',m='月',d='日',h='时',f='分',s='秒')
print(t)
tt=time.strftime('%Y{y}%m{m}%d{d} %H{h}%M').format(y='年',m='月',d='日',h=':')
print(tt)
三.datetime模块
1.datetime提供日期和时间的运算和表示
2.date:一个理想和的日期,提供year、month、day属性
import datetime
dt = datetime.date(2018,3,26)
print(dt)
print(dt.day)
3.time:一个理想和的时间,提供hour、minute、sec、microsec等内容
4.datetime:提供日期和时间的组合
常用类方法:
- today
- now
- utcnow
- fromtimestamp:从时间戳返回本地时间
import time
from datetime import datetime
#常用类方法
print(datetime.now())
print(datetime.fromtimestamp(time.time()))
5.timedelta:提供一个时间差,时间长度
from datetime import timedelta,datetime
t1 = datetime.now()
print(t1)
td = timedelta(hours=1) #时间间隔
print(t1+td) #当前时间加上时间间隔
四.timeit时间测量模块
1.不用timeit模块时:
#测量程序运行时间间隔
import time
def p():
time.sleep(3.6)
t1 = time.time()
p()
print(time.time()-t1)
2.用timeit模块测量程序运行时间
#生成列表的两种方法比较
#一种for循环,一种列表生成器
import timeit
c = '''
sum = []
for i in range(1000):
sum.append(i)
'''
t1 = timeit.timeit(stmt=c,number=100000)
#利用timeit调用代码,执行100000次,查看运行时间
t2 = timeit.timeit(stmt='[i for i in range(1000)]',number=100000)
print(t1)
print(t2)
3.timeit可以执行一个函数,来测量一个函数的执行时间
- 函数没有参数时:
import timeit
def doIt():
num = 3
for i in range(num):
print('repeat for {}'.format(i))
#执行函数重复十次
t = timeit.timeit(stmt=doIt,number=10)
print(t)
- 函数有参数时:
import timeit
s = '''
def doIt(num):
for i in range(num):
print('repeat for {}'.format(i))
'''
#执行doIt(num),setup负责把环境变量准备好
#相当于给timeit创造一个小环境,执行顺序为
'''
def doIt(num)
...
num=3
doIt(num)
'''
t = timeit.timeit('doIt(num)',setup=s+'num=3',number=10)
print(t)
视频参考极客学院