time模块主要用来计时,datetime主要用来获取和时间有关的信息,calendar是日历的意思,主要用来获取日期信息
time模块
说明两点:1. 这个模块的功能不是适用于所有的平台,2. 这个模块中定义的大部分函数是调用C平台上的同名函数实现
看看time模块都定义了哪些方法
>>> import time
>>> dir(time)
其中较常用的有:clock()
、ctime()
、localtime()
、time()
、sleep()
time和clock
time以秒返回自新纪元以来的时间;对于任何操作系统都可以运行time.gmtime(0)查找此系统的新纪元;对于Unix新纪元是1970年1月1日,对于Windows新纪元是1601年1月1日
time.time通常用于检测Windows上的程序;在Unix系统上time.time的作用与Windows相同,但time.clock的意义不同
在Unix系统上time.clock以秒为单位返回当前处理器时间如执行当前线程所花费的CPU时间,而在Windows上它是以秒为单位的返回自首次调用该函数以来所流逝的系统时间,对于Windows系统clock函数更精确
time.time与time.clock另一个不同之处是,如果在两次调用之间将系统时钟调回,则time.time可能会返回一个较小的值,而time.clock则返回的值未增长
time和clock函数不能混合使用,具体用哪一个测量时间视具体而定
ctime和asctime
sleep(休眠函数)
函数推迟调用线程的运行,可通过参数secs指秒数表示进程挂起的时间
time.sleep(sec)
该函数广泛应用在爬虫产业中:D
datetime模块
简而言之,datetime是python处理日期和时间的标准库
>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now)
2018-05-26 09:24:12.964073
除了依据系统当前时间,我们还可以自己构造datetime对象
除了datetime
类,该模块还有date
、time
等较为实用的类
calendar模块
calendar翻译过来就是日历,该模块提供的函数也都和日历相关
这是来自官方的简短描述,可以预见calendar就是一个用来搞日历的函数集合
根据官方文档,calendar模块用的好的话完全可以实现像Unix的cal
命令那样的效果
calendar
模块提供了作为函数的isleap()
、leapdays()
功能,分别用来判断该年是否是闰年以及两年之间的闰年数
calendar
模块提供了三大类:Calendar(firstweekday=0)
、TextCalendar(firstweekday=0)
、HTMLCalendar(firstweekday=0)
calendar.Calendar:该类提供了许多生成器,如星期的生成器、某月日历生成器
calendar.TextCalendar:该类提供了按月、按年生成日历字符串的方法
calendar.HTMLCalendar:类似TextCalendar,不过生成的是HTML格式日历
下面让我们实际操作calendar模块打印一份日历看看:)
目前只能实现按年份打印,在进一步修改后可以实现Unix自带的cal功能