Python档案袋( 时间 和 随机数 模块 )
时间模块
1 #导入必要模块 2 import time 3 4 #获取时间戳 5 print(time.time()) #输出:1547651016.03502 6 7 #格式化时间元组 8 # 参数可传递自定义的时间戳,如:time.localtime(2225555),另外gettime()是确定为标准时间 9 timex=time.localtime() 10 11 #输出:年、月、日、时、分、秒、本周第几天、本年第几天、时区(0为东八区) 12 #输出:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=16, tm_hour=22, tm_min=19, tm_sec=55, tm_wday=2, tm_yday=16, tm_isdst=0) 13 print(timex) 14 15 print(timex[0])#输出:2019 16 print(timex.tm_year)#输出:2019 17 18 print(time.mktime(timex)) #将元组转换为时间戳,输出:1547651016.0 19 20 #格式化时间输出,2019-01-16 22:44:17 Wed Wednesday 21 # %X 等同于 %H:%M:%S 22 #参数2可以传递自定义时间元组,如:time.strftime("%Y-%m-%d %H:%M:%S %a %A",time.localtime(245445)) 23 print(time.strftime("%Y-%m-%d %H:%M:%S %a %A")) 24 25 #格式化字符串变成时间元组,参数必须一一对应 26 #输出:time.struct_time(tm_year=2019, tm_mon=1, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=16, tm_isdst=-1) 27 restime=time.strptime("2019-01-16","%Y-%m-%d") 28 print(restime) 29 30 #延时,单位为秒 31 time.sleep(0.3) 32 33 #查看与标准时间UTC的差值 34 #默认输出单位为秒,然后除于每小时的秒数,得到小时单位,输出:-8.0,表示比标准时间早8小时 35 print(time.timezone/3600)
时间戳与格式化时间转换
1 import time 2 3 #获取当前时间戳 4 now_time=int(time.time()) 5 print("当前时间戳为:",now_time) 6 7 #直接获取当前格式化时间 8 str_nowtime=time.strftime("%Y-%m-%d %H:%M:%S") 9 print("当前格式化时间为:",str_nowtime) 10 11 #将时间戳转换为格式化时间 12 str_nowtime=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(now_time)) 13 print("当前格式化时间为:",str_nowtime) 14 15 #将格式化时间转换为时间戳 16 now_str_to_time=time.mktime(time.strptime(str_nowtime,"%Y-%m-%d %H:%M:%S")) 17 print("转换后的时间戳为:",now_str_to_time)
在当前时间上加上相应的年、月、日
1 import time 2 3 # 直接获取当前格式化时间 4 str_nowtime = time.strftime("%Y-%m-%d %H:%M:%S") 5 print("原时间:", str_nowtime) 6 7 #在当前时间加3年、10月、3日 8 addyear=3 9 addmon=10 10 addday=3 11 #获取当前的年、月、日、时、分、秒 12 timex=time.localtime() 13 year=timex.tm_year 14 mon=timex.tm_mon 15 day=timex.tm_mday 16 hour=timex.tm_hour 17 min=timex.tm_min 18 sec=timex.tm_sec 19 #月 20 addmon+=mon 21 mon=addmon%12 22 #年 23 year+=addyear 24 year+=int(addmon/12) 25 #添加年月后进行时间戳转换 26 add_timestr="%d-%d-%d %d:%d:%d"%(year,mon,day,hour,min,sec) 27 now_time=time.mktime(time.strptime(add_timestr,"%Y-%m-%d %H:%M:%S")) 28 print("转换后的时间戳为:",now_time) 29 #将时间戳加上天数的秒总数,进行输出 30 #天 31 addday*=86400 32 now_time+=addday 33 #将时间戳转换为格式化时间 34 str_nowtime=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(now_time)) 35 print("新时间:",str_nowtime)
随机数模块
1 import random 2 3 #随机浮动数,区间为:[0,1) 4 print(random.random()) 5 6 #随机浮点数,区间自定义 7 print(random.uniform(1,2)) 8 9 #随机整数, 10 #方法1, 区间为:[0,2] 11 print(random.randint(0,2)) 12 #方法2,区间为:[1,5) 13 print(random.randrange(1,5)) 14 15 #自定义区间内容 16 print(random.choice("dongxiaodong")) 17 print(random.choice([11,12,"55","xx","yyyy"])) 18 19 #自定义区间内容和取的个数 20 print(random.sample("dongxiaodong",3)) #如输出:['n', 'i', 'n']