time 模块:与时间相关的功能的模块dom
在 Python 中,时间分为三种:ide
一、时间戳:是一个时间的表示,根据不一样的语言,能够是整数或浮点数,是从1970年1月1日0时0分0秒到如今经历的秒数spa
二、UTC时间: 又称为世界协调时间,以英国的格林尼治天文所在地区的时间做为参考的时间,也叫作世界标准时间。中国时间是 UTC+8 东八区code
三、localtime:本地时间,又叫时间元组,是一个包含时间内容的普通元组blog
import time print(time.localtime()) # 运行
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=15, tm_hour=14, tm_min=44, tm_sec=34, tm_wday=0, tm_yday=288, tm_isdst=0) # 相应参数 # 索引 内容 属性 值 # 0 年 tm_year 2015 # 1 月 tm_mon 1~12 # 2 日 tm_mday 1~31 # 3 时 tm_hour 0~23 # 4 分 tm_min 0~59 # 5 秒 tm_sec 0~61 60表示闰秒 61保留值 # 6 周几 tm_wday 0~6 # 7 第几天 tm_yday 1~366 # 8 夏令时 tm_isdst 0,1,-1(表示夏令时)
时间模块的属性索引
# 获取时间戳 返回浮点型
print(time.time()) # 获取当地时间 返回的是结构化时间
print(time.localtime()) # 时间戳 转结构化
print(time.localtime(time.time())) # 结构化 转时间戳
print(time.mktime(time.localtime())) # 获取UTC时间 返回的仍是结构化时间 比中国时间少8小时
print(time.gmtime()) # 将获取的时间转成指定的格式 仅支持结构化时间
print(time.strftime("%Y-%m-%d %H:%M:%S %p", time.localtime())) # 将格式化字符串的时间转为结构化时间 注意: 格式必须匹配
print(time.strptime("2018-10-15 15:00:18", "%Y-%m-%d %H:%M:%S")) # sleep 让当前进程睡眠一段时间 单位是秒
time.sleep(2) print('over') # 接受时间元组并返回一个可读的形式为"Mon Oct 15 15:09:24 2018"的24个字符的字符串。
print(time.asctime()) # 获取字符串化的当前时间
print(time.ctime())
datetime 模块:提供日期和时间运算表示的模块进程
datetime经常使用属性字符串
import datetime # 获取当前时间 返回的是格式化字符时间
print(datetime.datetime.now()) # 单独获取某个时间 年 月
d = datetime.datetime.now() print(d.year) print(d.day) # 手动指定时间
d2 = datetime.datetime(2018,10,10,10,10,10) print(d2) # 计算两个时间的差 只能减不能加
print(d - d2) # 替换某个时间
print(d.replace(year=2020)) # 表示时间差的属性 timedelta
print(datetime.timedelta(days=1)) d = datetime.datetime.now() t1 = datetime.timedelta(days=1) t2 = datetime.timedelta(weeks=1) print(t2 - t1) # 时间差能够和一个datetime进行加减
print(d + t2)
random 模块:随机数模块event
# random() 获取0-1之间的随机小数 # 格式:random.random() # 返回值:随机0-1之间的小数
print(random.random()) # 运行
0.4549137928915099
# choice() 随机返回序列中的某个值 # 格式:random.choice(序列) # 返回值:序列中的某个值
l = [str(i)+"haha" for i in range(5)] print(l) rst = random.choice(l) print(rst) # 运行
['0haha', '1haha', '2haha', '3haha', '4haha'] 3haha
# shuffle() 随机打乱列表 # 格式:random.shuffle(列表) # 返回值:打乱顺序以后的列表
l1 = [i for i in range(5)] print(l1) random.shuffle(l1) print(l1) # 运行
[0, 1, 2, 3, 4] [2, 3, 0, 4, 1]
# randint(a,b): 返回一个a到b之间的随机整数,包含a和b
print(random.randint(0,100)) # 运行
46
# randrange(a,b): 返回一个a到b之间的随机整数,包含a不包含b
print(random.randrange(0,2)) # 运行
0
# 随机选指定个数
print(random.sample([1,2,3],2)) # 运行
[2, 3]
实现随机验证码,整型和全大写字符,可指定长度验证码
def make_code(i): res = ""
for j in range(i): # 随机0到9
num = str(random.randint(0,9)) c = chr(random.randint(65,90)) s = random.choice([num,c]) res += s return res print(make_code(4))