Python档案袋( 时间 和 随机数 模块 )

时间:2023-01-05 14:56:09

时间模块

 #导入必要模块
import time #获取时间戳
print(time.time()) #输出:1547651016.03502 #格式化时间元组
# 参数可传递自定义的时间戳,如:time.localtime(2225555),另外gettime()是确定为标准时间
timex=time.localtime() #输出:年、月、日、时、分、秒、本周第几天、本年第几天、时区(0为东八区)
#输出: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)
print(timex) print(timex[0])#输出:2019
print(timex.tm_year)#输出:2019 print(time.mktime(timex)) #将元组转换为时间戳,输出:1547651016.0 #格式化时间输出,2019-01-16 22:44:17 Wed Wednesday
# %X 等同于 %H:%M:%S
#参数2可以传递自定义时间元组,如:time.strftime("%Y-%m-%d %H:%M:%S %a %A",time.localtime(245445))
print(time.strftime("%Y-%m-%d %H:%M:%S %a %A")) #格式化字符串变成时间元组,参数必须一一对应
#输出: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)
restime=time.strptime("2019-01-16","%Y-%m-%d")
print(restime) #延时,单位为秒
time.sleep(0.3) #查看与标准时间UTC的差值
#默认输出单位为秒,然后除于每小时的秒数,得到小时单位,输出:-8.0,表示比标准时间早8小时
print(time.timezone/3600)

时间戳与格式化时间转换

Python档案袋( 时间 和 随机数 模块 )

 import time

 #获取当前时间戳
now_time=int(time.time())
print("当前时间戳为:",now_time) #直接获取当前格式化时间
str_nowtime=time.strftime("%Y-%m-%d %H:%M:%S")
print("当前格式化时间为:",str_nowtime) #将时间戳转换为格式化时间
str_nowtime=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(now_time))
print("当前格式化时间为:",str_nowtime) #将格式化时间转换为时间戳
now_str_to_time=time.mktime(time.strptime(str_nowtime,"%Y-%m-%d %H:%M:%S"))
print("转换后的时间戳为:",now_str_to_time)

在当前时间上加上相应的年、月、日

Python档案袋( 时间 和 随机数 模块 )

 import time

 # 直接获取当前格式化时间
str_nowtime = time.strftime("%Y-%m-%d %H:%M:%S")
print("原时间:", str_nowtime) #在当前时间加3年、10月、3日
addyear=3
addmon=10
addday=3
#获取当前的年、月、日、时、分、秒
timex=time.localtime()
year=timex.tm_year
mon=timex.tm_mon
day=timex.tm_mday
hour=timex.tm_hour
min=timex.tm_min
sec=timex.tm_sec
#月
addmon+=mon
mon=addmon%12
#年
year+=addyear
year+=int(addmon/12)
#添加年月后进行时间戳转换
add_timestr="%d-%d-%d %d:%d:%d"%(year,mon,day,hour,min,sec)
now_time=time.mktime(time.strptime(add_timestr,"%Y-%m-%d %H:%M:%S"))
print("转换后的时间戳为:",now_time)
#将时间戳加上天数的秒总数,进行输出
#天
addday*=86400
now_time+=addday
#将时间戳转换为格式化时间
str_nowtime=time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(now_time))
print("新时间:",str_nowtime)

随机数模块

 import random

 #随机浮动数,区间为:[0,1)
print(random.random()) #随机浮点数,区间自定义
print(random.uniform(1,2)) #随机整数,
#方法1, 区间为:[0,2]
print(random.randint(0,2))
#方法2,区间为:[1,5)
print(random.randrange(1,5)) #自定义区间内容
print(random.choice("dongxiaodong"))
print(random.choice([11,12,"","xx","yyyy"])) #自定义区间内容和取的个数
print(random.sample("dongxiaodong",3)) #如输出:['n', 'i', 'n']