python模块详解 time与date time
模块的分类:
a:标准库 内置模块 如sys,os等
b:开源模块 大神封装好的 直接可以拿来用的。
c:自定义模块 自己封装的模块
Python中通常表示时间的方式有:时间戳、格式化的日期、元组(九个元素表示)。
time模块
time模块属于常用的内置模块。通常用来处理时间。
时间戳
import time print(time.time()) #1501743350.2958055
格式化日期
元组
import time print(time.localtime())#time.struct_time(tm_year=2017, tm_mon=8, tm_mday=3, tm_hour=15, tm_min=0, tm_sec=1, tm_wday=3, tm_yday=215, tm_isdst=0)
tm_year:年 tm_mon:月 tm_mday:日 tm_hour:时 tm_min:分 tm_sec:秒 tm_wday:一周的第几天 tm_yday:一年的第几天 tm_isdst:是否是夏令时。0=否。
常用函数
time.timezone 当地时间和UTC时间的差值 以秒为单位。
import time print(time.timezone) #-28800
time.altzone 夏令时和UTC时间的差值 以秒为单位。
import time print(time.altzone) #-32400
time.dayligth 是否使用了夏令时
import time print(time.daylight) #0 未使用
常用函数
sleep(s) 延时几秒执行
time.sleep(2) #,延时2秒在执行
gmtime(s) 时间戳转元组(UTC时间、标准时间、格林威治时间) 如果不传时间戳表示当前时间
import time print(time.time())#1501745154.610916 print(time.gmtime(1501745138.0052316))#time.struct_time(tm_year=2017, tm_mon=8, tm_mday=3, tm_hour=7, tm_min=25, tm_sec=38, tm_wday=3, tm_yday=215, tm_isdst=0)
localtime(s) 时间戳转元组(当前时区) 如果不传时间戳表示当前时间
import time print(time.time()) #1501745513.560935 print(time.localtime(1501745500.8039103)) #time.struct_time(tm_year=2017, tm_mon=8, tm_mday=3, tm_hour=15, tm_min=31, tm_sec=40, tm_wday=3, tm_yday=215, tm_isdst=0)
元组格式取值:
x = time.localtime(1501745500.8039103) print(x.tm_year) #2017 print(x.tm_mon) #8 print(x.tm_mday) #3
mktime(t) 元组转时间戳
x = time.localtime(1501745500.8039103) print(time.mktime(x)) #1501745500.0
strftime(t) 元组转格式化时间
x = time.localtime(1501745500.8039103) print(time.strftime('%Y-%m-%d %H:%M:%S %z %a %A',x))#2017-08-03 15:31:40 +0800 Thu Thursday
strftime(f) 格式化时间 转 元组
print(time.strptime('2017-08-03 15:31:40','%Y-%m-%d %H:%M:%S'))
#time.struct_time(tm_year=2017, tm_mon=8, tm_mday=3, tm_hour=15, tm_min=31, tm_sec=40, tm_wday=3, tm_yday=215, tm_isdst=-1)
asctime(t) 元组转字符串时间 有点像js的时间格式 如果不传参数表示当前时间的元组格式 当前时区
print(time.asctime()) #Thu Aug 3 16:28:32 2017
ctime(s) 时间戳转成字符串时间 有点像js的时间格式 如果不传参数表示当前时间的时间戳 当前时区
print(time.ctime()) #Thu Aug 3 16:30:56 2017
这种字符串时间的格式:
datetime模块
datetime.datetime.now() 获取当前时间 #第一个datetime是模块 第二个datetime是类 now是方法
import datetime print(datetime.datetime.now())#2017-08-03 16:36:47.864395
datetime.datetime.now() + datetime.timedelta(day) 查询几天后的时间
print(datetime.datetime.now() + datetime.timedelta(3))#3天后的时间
print(datetime.datetime.now() + datetime.timedelta(-3))#3天前时间
print(datetime.datetime.now() + datetime.timedelta(hours =3))#3小时后的时间 print(datetime.datetime.now() + datetime.timedelta(minutes=3))#3分钟后的时间