使用Python模块:time、datetime和calendar模块

time模块主要用来计时,datetime主要用来获取和时间有关的信息,calendar是日历的意思,主要用来获取日期信息


time模块

time模块的官方介绍

time模块的C语言实现(Github)

说明两点:1. 这个模块的功能不是适用于所有的平台,2. 这个模块中定义的大部分函数是调用C平台上的同名函数实现

看看time模块都定义了哪些方法

>>> import time
>>> dir(time)

使用Python模块:time、datetime和calendar模块_第1张图片

其中较常用的有:clock()ctime()localtime()time()sleep()

time和clock

使用Python模块:time、datetime和calendar模块_第2张图片

使用Python模块:time、datetime和calendar模块_第3张图片

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

使用Python模块:time、datetime和calendar模块_第4张图片

使用Python模块:time、datetime和calendar模块_第5张图片

使用Python模块:time、datetime和calendar模块_第6张图片

sleep(休眠函数)

函数推迟调用线程的运行,可通过参数secs指秒数表示进程挂起的时间

time.sleep(sec)

该函数广泛应用在爬虫产业中:D


datetime模块

datetime模块的官方介绍

datetime模块的source code

简而言之,datetime是python处理日期和时间的标准库

>>> from datetime import datetime
>>> now = datetime.now()
>>> print(now)
2018-05-26 09:24:12.964073

除了依据系统当前时间,我们还可以自己构造datetime对象

使用Python模块:time、datetime和calendar模块_第7张图片

除了datetime类,该模块还有datetime等较为实用的类


calendar模块

calendar模块的官方介绍

calendar模块的source code

calendar翻译过来就是日历,该模块提供的函数也都和日历相关

这里写图片描述

这是来自官方的简短描述,可以预见calendar就是一个用来搞日历的函数集合

根据官方文档,calendar模块用的好的话完全可以实现像Unix的cal命令那样的效果

使用Python模块:time、datetime和calendar模块_第8张图片

calendar模块提供了作为函数的isleap()leapdays()功能,分别用来判断该年是否是闰年以及两年之间的闰年数

使用Python模块:time、datetime和calendar模块_第9张图片

这里写图片描述

calendar模块提供了三大类:Calendar(firstweekday=0)TextCalendar(firstweekday=0)HTMLCalendar(firstweekday=0)

calendar.Calendar:该类提供了许多生成器,如星期的生成器、某月日历生成器

calendar.TextCalendar:该类提供了按月、按年生成日历字符串的方法

calendar.HTMLCalendar:类似TextCalendar,不过生成的是HTML格式日历

下面让我们实际操作calendar模块打印一份日历看看:)

使用Python模块:time、datetime和calendar模块_第10张图片

使用Python模块:time、datetime和calendar模块_第11张图片

目前只能实现按年份打印,在进一步修改后可以实现Unix自带的cal功能

你可能感兴趣的:(Python,语言)