第三十一节,time时间模块
模块简介
模块,用一砣代码实现了某个功能的代码集合。
类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合。而对于一个复杂的功能来,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个 .py 文件组成的代码集合就称为模块。
一个功能比较复杂的模块库,有很多的模块组成相互引用而成库
python自带的模块库有200-300个,自带模块库不需要安装,直接import引入模块就可以使用
还有一种就是第三方模块库,需要安装后import引入模块使用
模块分为三种:
自定义模块:自定义模块是自己写的模块,需要放在工程目录下,使用方法下面详细介绍
第三方模块:第三方模块是别人写的模块需要安装,安装后import引入模块就可以使用,第三方模块安装在Python35\lib\site-packages目录里
内置模块: 内置模块是python自带的模块,import引入模块就可以使用,内置模块在Python\Python35\lib目录里
自定义模块的使用方法
在工程根目录下建一个文件夹命名为lib,以后所有的自定义模块就放在lib这个文件夹里
在使用页面调用lib文件夹里的,模块函数或者调用模块文件即可使用
调用模块函数的方法
from lib.mk import tchu
from:是从的意思
lib.mk:是指lib文件夹里的mk模块文件
import:引入的意思
tchu:是一个函数的意思
from lib.mk import tchu:从lib文件夹里的mk模块文件,引入tchu函数
#!/usr/bin/env python # -*- coding:utf8 -*- from lib.mk import tchu #从lib文件夹里的mk模块文件,引入tchu函数 a = tchu() print(a)
调用模块的使用方法
from lib import mk
from:是从的意思
lib:是存放自定义模块的文件夹
import:引入的意思
mk:模块文件名称
注意:调用自定义模块时,在执行函数时书写格式为,模块名称.函数()
#!/usr/bin/env python # -*- coding:utf8 -*- from lib import mk #从lib文件夹里的mk模块文件,引入tchu函数 a = mk.dlu() print(a) b = mk.tchu() print(b)
第三种导入自定义模块
#!/usr/bin/env python # -*- coding:utf8 -*- import lib.mk a = lib.mk.dlu() print(a)
__init__.py文件注意:2.7python在导入模块时有可能导入失败,如果模块文件夹里没有__init__.py文件将无法导入,需要创建一个__init__.py文件
内置模块
time模块
time.sleep()模块函数
功能:让程序停留一定时间在执行
使用方法:time.sleep(要停留的秒速) 【有参】
格式如:time.sleep(5)
#!/usr/bin/env python # -*- coding:utf8 -*- import time print("请等待5秒执行程序...!") time.sleep(5) #功能:让程序停留一定时间在执行 print("执行程序")
time.time()模块函数
功能:获取当前系统的时间戳
使用方法: time.time()【无参】
格式如:time.time()
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.time() #获取当前系统的时间戳 print(a) #输出 # 1471097622.3468976
time.ctime()模块函数
功能:获取当前系统字符串格式时间【无参】,将时间戳转换成字符串格式时间【有参】
使用方法:time.ctime()【无参】,time.ctime(时间戳)【有参】
格式如:time.ctime(),time.ctime(time.time()-86400)
time.ctime()【无参】
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.ctime() #获取当前系统字符串格式时间 print(a) #输出 # Sat Aug 13 22:26:34 2016
time.ctime(时间戳)【有参】
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.ctime(time.time()-86400) #当前时间戳减去86400秒,就是减去一天,得到昨天这个时间 print(a) #输出 #Fri Aug 12 22:45:30 2016
time.gmtime()模块函数
功能:格式化获取当前系统的时间【无参】,格式化返回时间戳的时间【有参】
使用方法:time.gmtime()【无参】,time.gmtime(时间戳)【有参】
格式如:time.gmtime(),time.gmtime(time.time()-86400)
注意:time.gmtime()需要赋值给一个变量,然后变量名称.格式化时间名称取值,如:a.tm_year
返回的是英国时间,需要转换成中国时区
格式化获取当前系统的时间【无参】
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.gmtime() #格式化获取当前系统的时间【无参】 print(a) #打印返回格式化当前系统时间 b = "%s-%s-%s" %(a.tm_year,a.tm_mon,a.tm_mday) #将格式化时间日期,单独取出来拼接成一个完整日期 print(b) #打印拼接后的完整日期 #输出 #time.struct_time(tm_year=2016, tm_mon=8, tm_mday=14, tm_hour=7, tm_min=49, tm_sec=54, tm_wday=6, tm_yday=227, tm_isdst=0) #2016-8-14
格式化返回时间戳的时间【有参】
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.gmtime(time.time()-86400) #格式化返回时间戳的时间【有参】,当前时间戳减去86400就是昨天的时间 print(a) #打印返回格式化时间戳的时间 b = "%s-%s-%s" %(a.tm_year,a.tm_mon,a.tm_mday) #将格式化时间日期,单独取出来拼接成一个完整日期 print(b) #打印拼接后的完整日期 #输出 #time.struct_time(tm_year=2016, tm_mon=8, tm_mday=13, tm_hour=7, tm_min=55, tm_sec=2, tm_wday=5, tm_yday=226, tm_isdst=0) #2016-8-13
time.localtime()模块函数【推荐】
功能:格式化获取当前系统的本地时间【无参】,格式化返回时间戳的时间【有参】
使用方法:time.localtime()【无参】,time.localtime(时间戳)【有参】
格式如:time.localtime(),time.localtime(time.time()-86400)
返回的是中国时区时间
格式化获取当前系统的本地时间【无参】
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.localtime() #格式化获取当前系统的时间【无参】 print(a) #打印返回格式化本地时间 b = "%s-%s-%s %s:%s:%s" %(a.tm_year,a.tm_mon,a.tm_mday,a.tm_hour,a.tm_min,a.tm_sec) #将格式化时间日期,单独取出来拼接成一个完整日期 print(b) #打印拼接后的完整日期 #输出 #time.struct_time(tm_year=2016, tm_mon=8, tm_mday=14, tm_hour=17, tm_min=7, tm_sec=40, tm_wday=6, tm_yday=227, tm_isdst=0) #2016-8-14 17:7:40
格式化返回时间戳的时间【有参】
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.localtime(time.time()-86400) #返回时间戳格式化时间【有参】 print(a) #打印返回格式化时间戳时间 b = "%s-%s-%s %s:%s:%s" %(a.tm_year,a.tm_mon,a.tm_mday,a.tm_hour,a.tm_min,a.tm_sec) #将格式化时间日期,单独取出来拼接成一个完整日期 print(b) #打印拼接后的完整日期 #输出 #time.struct_time(tm_year=2016, tm_mon=8, tm_mday=13, tm_hour=17, tm_min=10, tm_sec=56, tm_wday=5, tm_yday=226, tm_isdst=0) #2016-8-13 17:10:56
time.mktime()模块函数
功能:将系统当前时间转换成时间戳【有参】
使用方法:time.mktime(格式化获取当前系统的时间函数)【有参】
格式如:time.mktime(time.localtime())【有参】
将系统当前时间转换成时间戳【有参】
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.mktime(time.localtime()) #将系统当前时间转换成时间戳【有参】 print(a) #打印返回时间戳 #输出 #1471166702.0
time.strftime()模块函数【推荐】
功能:将系统本地时间转换成指定的字符串格式【有参】
使用方法:time.strftime("格式标识符",时间对象函数)【有两个参数】
格式如:time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()) #将系统本地时间转换成指定的字符串格式 print(a) #输出 #2016-08-15 12:23:03
time.strptime()【推荐】
功能:将字符串格式时间转换成格式化时间对象【有参】
使用方法:time.strptime("时间字符串","格式标识符")
格式如:time.strptime("2016-08-15 12:23:03","%Y-%m-%d %H:%M:%S")
#!/usr/bin/env python # -*- coding:utf8 -*- import time a = time.strptime("2016-08-15 12:23:03","%Y-%m-%d %H:%M:%S") #将字符串格式时间转换成格式化时间对象 print(a) #输出 #time.struct_time(tm_year=2016, tm_mon=8, tm_mday=15, tm_hour=12, tm_min=23, tm_sec=3, tm_wday=0, tm_yday=228, tm_isdst=-1)
格式标识符表
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
time常用函数
print(time.clock()) #返回处理器时间,3.3开始已废弃 print(time.process_time()) #返回处理器时间,3.3开始已废弃 print(time.time()) #返回当前系统时间戳 print(time.ctime()) #输出Tue Jan 26 18:23:48 2016 ,当前系统时间 print(time.ctime(time.time()-86640)) #将时间戳转为字符串格式 print(time.gmtime(time.time()-86640)) #将时间戳转换成struct_time格式 print(time.localtime(time.time()-86640)) #将时间戳转换成struct_time格式,但返回 的本地时间 print(time.mktime(time.localtime())) #与time.localtime()功能相反,将struct_time格式转回成时间戳格式 #time.sleep(4) #sleep print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将struct_time格式转成指定的字符串格式 print(time.strptime("2016-01-28","%Y-%m-%d") ) #将字符串格式转换成struct_time格式