time模块
表示时间的三种方式:
时间戳:
时间元组(struct_time):
格式化时间字符串
python中时间日期格式化符号:
%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 当前时区的名称
%% %号本身
import time
#(线程)推迟指定的时间运行,单位为秒
time.sleep(2)
#时间戳
time.time()
#格式化时间字符串类型:
print(time.strftime('%y-%m-%d %H:%M%S'))
ret = time.strftime('%y{}%m{}%d{} %H:%M%S')
print(ret.format('年','月','日'))
#时间元组
print(time.localtime())
#time.struct_time(tm_year=2019, tm_mon=12, tm_mday=9, tm_hour=16, tm_min=7, tm_sec=16, tm_wday=0, tm_yday=343, tm_isdst=0)
#几种格式之间的转换
#时间戳--->格式化时间
timestamp = time.time()
#时间戳转化成结构化时间
st = time.localtion(timestamp)
#结构化时间转化成格式化时间
ft = time.strftime('%y-%m-%d %H:%M%S',st)
print(ft)
#格式化时间--->时间戳
ft = time.strftime('%y-%m-%d %H:%M%S')
#格式化时间转化成结构化时间
st = time.strptime(ft,'%y-%m-%d %H:%M%S')
#结构化时间转化成时间戳
timeatamp = time.mktime(st)
print(timeatamp)
#计算时间差
import time
true_time = time.mktime(time.strptime('2017-09-11 08:30:00','%Y-%m-%d %H:%M:%S'))
now_time = time.mktime(time.strptime('2017-12-21 12:25:31','%Y-%m-%d %H:%M:%S'))
dif_time = now_time - true_time
#将时间戳转化成元组时间
struct_time = time.gmtime(dif_time)
print(f'过去了{struct_time.tm_year-1970}年{struct_time.tm_mon-1}月{struct_time.tm_mday-1}天{struct_time.tm_hour}小时{struct_time.tm_min}分钟{struct_time.tm_sec}秒')
datetime模块
import datetime
#现在的时间
time_now = datetime.datetime.now()
print(time_now)
#只能调整的字段:weeks,days,hours,minutes,seconds
print(time_now + datetime.timedalta(weeks = 3))
print(time_now + datetime.timedalta(weeks = 13))
#可直接调整到指定的,年,月,日,时,分,秒,等
print(time_now.replace(year = 1979,month = 12,day = 12))
#将时间戳转化成时间
print(datetime.date.fromtimestamp(4456787654))
random模块
import random
#大于0小于1之间的 小数
print(random.random())
#大于1小于6的 小数
print(random.uniform(1,6))
#随机整数
#大于等于1且 小于等于 5的 整数
print(random.randint(1,5))
#大于等于1且 小于 10的 奇数
print(random.randint(1,10,2))
#随机选择一个返回(可加参数,参数为返回的个数,以列表返回)
print(random.choice([1,24,'qww','rrr']))
print(random.sample([['one','two','erf','rt'],3]))
#打乱列表的顺序
item = [i for i in range(5)]
random.shuffle(item)
print(item)
import random
code = ''
def v_code():
for i in range(4):
num = random.randint(1,9)
letter = chr(random.randint(65,90))
ret = random.choice([num,letter])
code = ''.join(code,str(ret))
return code
ret = v_code()
print(ret)
原文:https://www.cnblogs.com/xiaohei-chen/p/12012126.html