Python中有很多的第三方库,在这里总结time库、datetime库、calendar库、random库的使用方法。
time库
time库是Python中处理时间的标准库
使用形式:import time
time.<b>()
模块有两种表示时间的方式:
1.时间戳,是以秒表示从“新纪元”到现在的时间,称为 UTC 或者 GMT。这个“新纪元”指的就是1970年1月1日。所以时间戳指的就是从“新纪元”到某一个时间一共过去了多少秒,可能是一个整数,也可能是一个浮点数。
2.一个包括 9 个元素的元祖,这 9 个元素分别为:
year:4位数,表示年,例如:2016
month:表示月份,范围是 1-12
day:表示天,范围是 1-31
hours:小时,范围是 0-23
minute:分钟,范围是 0-59
seconds:秒,范围是 0-59
weekday:星期,范围是 0-6,星期一是0,以此类推
Julian day:是一年中的第几天,范围是 1-366
其中表现方法有三种函数:
time() 获得当前时间戳,即计算机内部时间值,浮点数输出 >>>time.time() 1523271396.4514377
ctime() 获取当前时间并以易读方式表示,返回字符串 >>> time.ctime() ‘Mon Apr 9 19:00:25 2018’
gmtime() 获取当前时间,表示为计算机可处理的时间格式
time库还有时间计时的函数:
sleep():当前程序停止一定时间后再进行下一步程序。
datetime
datetime定义了五个类,它们分别是:
1.date类:表示日期的类;
2.time类:表示时间的类;
3.datetime类:表示时间日期的类;
4.timedelta类:表示两个datetime对象的差值;
5.tzinfo类:表示时区的相关信息;
(1)date类
date类包含三个参数,分别为year,month,day,返回格式为year-month-day。
(2)time类
time类包含六个参数,分别为hour,minute,second,microsecond,tzinfo,fold,返回格式为hour:minute:second(.microsecond)。
(3)datetime类
datetime类是date类和time类的合体,包含前两个类的全部参数。
(4)timedalta类
timedelta类代表两个datetime对象之间的时间差。
(5)tzinfo类
tzinfo类是一个虚拟基类,代表时区(time zone),创建子类时必须重写name(),utcoffset(),dst()这三个方法。
calendar库
calendar.calendar
以一个多行字符串格式返回一年的日历
parameter:
w :每个日期之间的间隔字符数
l : 每周所占用的行数
c :每个月之间的间隔字符数
m: 每行几个月
calendar.prcal的效果与之相同,均能打印指定年份的日历
calendar.month
获取某个月的日历字符串
格式:calendar.month(年,月)
返回值:月日历的字符串
calendar.prmonth(年,月)的效果与之相同,均能打印指定月份的日历
calendar.monthcalendar
返回指定月份的日历矩阵,每行代表一周
格式:calendar.monthcalendar(年,月)
返回值:二级列表
注意:矩阵中没有天数用0表示
calendar.monthrange
返回指定月份第一天(即1号)的星期日期,和本月的总天数
格式:calendar.monthrange(年,月)
回值:元组(int 1号是周几,int 总天数)
注意:日历一周默认为 0 -6 表示周一到周天
calendar.weekday
calendar.weekday() 返回指定日期所对应的星期日期
格式:calendar.weekday(年,月,日)
返回值:0(周一)~ 6(周日)
random库
random库主要用于产生各种分布的伪随机数序列。random库采用梅森旋转算法生成伪随机数列。
random库常用函数:
seed(a=None):初始化随机数种子,默认值为当前的系统时间。
random():生成一个[0.0,1.0)之间的随机小数。
randint(a,b):生成一个[a,b]之间的整数。
getrandbits(k):生成一个k比特长度的随机整数。
randrange(start,stop[,step]):生成一个[start,stop)之间以step为步数的随机整数。
uniform(a,b):生成一个[a,b]之间的随机小数。
choice(seq):从序列类型,例如列表中随机返回一个元素。
shuffle(seq):将序列类型中的元素随机排列,返回打乱后的序列。
sample(pop,k):从pop类型中随机选取k个元素,以列表类型返回。