#calendar日历模块
import calendar
#calendar() 获取一年日历
result = calendar.calendar(2018,w = 2,l = 1,c = 6,m = 3)
print(result)
#获取指定月份的日历
result = calendar.month(2017,11,w = 4,l = 3)
print(result)
#monthcalendar() 获取指定月份的日历的矩阵格式
result = calendar.monthcalendar(2017,11)
print(result)
'''
1 2 3 4 5 6 7
[
[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, 0, 0, 0]
]
'''
#isleap() 检测指定的年份是否是闰年
#1.如果年份不能被100整除,只需要被4整除就是闰年 2.如果能够被100整除,必须被400整除才是闰年
result = calendar.isleap(1600)
print(result)
#leapdays() 获取指定年份之间闰年的个数
result = calendar.leapdays(2000,2017)
print(result)
#monthrange()获取一个月份的信息(周几开始,一共多少天)
result = calendar.monthrange(2017,11)
print(result)
#weekday() 根据指定年月日获取周几
result =calendar.weekday(2017,11,12)
print(result)
#timegm() 将时间元组转化为时间戳)
ttp = (1970,1,1,1,0,0,0,0,0)
result = calendar.timegm(ttp)
print(result)
#时间元组
'''
专门用于保存时间的元组格式(不是标准的元素格式)
用户定义的时间元组:(年,月,日,时,分,秒,周几,一年中的第几天)
系统返回的时间元组:(tm_year=2017,tm_mon=7,tm_mday=4,,tm_hour=9,tm_min=4,tm_sec=21,tm_wday=1,tm_yday=185,tm_isdst=0)
'''
#导入时间模块
import time
#常用的时间值
#timezone 获取当前时区和0时区(本初子午线所在时区) 相差的时间
print(time.timezone)
#altzone() 获取当前时区和0时区(本初子午线所在时区)相差的秒数
print(time.altzone)
#daylight 检测是否是夏令时
print(time.daylight)
#asctime() 将时间元组转化成可读的英文时间格式
ttp = (1970,1,1,0,0,0,0,0,0)
result = time.asctime()
print(result)
#localtime() 通过时间戳获取本地时间元组
result = time.localtime() #当前时间戳
result = time.localtime(0) #指定时间戳
print(result)
#gmtime() 通过时间戳 获取UTC时间元组
#result = time.ctime()#当前时间戳
result = time.ctime(0)#指定时间戳
print(result)
#ctime() 使用时间戳获取当前时区的可读英文时间格式
#result = time.ctime() #当前时间戳 asctime(localtime())
result = time.ctime(0) #指定时间戳 asctime(localtime(0))
print(result)
#mktime() 使用时间元组制作指定时间的时间戳
ttp = (1999,12,23,0,0,0,0,0,0)
result = time.mktime(ttp)
print(result)
#clock() 获取cpu时间(不计算程序的睡眠时间)
result = time.clock()
print(result)
#perf_counter() 计时器函数(计算程序的睡眠时间)
result = time.perf_counter()
print(result)
#sleep() 程序睡眠(暂停)
#time.sleep(5)
#time() 获取当前的本地时间戳
resutl = time.time()
print(result)
#strftime() str froamt time 格式化时间字符串
#1999-12-23 00:00:00
#时间元组
ttp = (1999,12,21,23,15,0,0,0,0)
result = time.strftime('%Y-%m-%d %H-%M-%S',ttp)
print(result)
#strptime() str parse time 解析格式化时间字符串
#12月21日1999年 00:15:00
#%m月%d日%Y年 %H:%M:%S
result = time.strptime('12月21日1999年 00:15:00','%m月%d日%Y年 %H:%M:%S')
print(result)
#计算程序运行时间
import time
#第一次获取时间
start = time.clock()
#执行一个程序
lists = range(0,1000000)
newlists = [i * 2 for i in lists]
#第二次获取时间
end = time.clock()
#计算程序运行时间
result = end - start
print('程序运行时间为 : {}秒'.format(result))
#版本 > 3.3 程序计时推荐使用perf_counter
import time
#第一次获取时间
start = time.perf_counter()
#执行一个程序
lists = range(0,1000000)
newlists = [i * 2 for i in lists]
#第二次获取时间
end = time.perf_counter()
#计算程序运行时间
result = end - start
print('程序运行时间为:{}秒'.format(result))