UTC:协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。
中国属于东八区,领先世界时间8小时
time模块
time.time():以时间戳的格式获取当前时间
>>> import time >>> time.time() 1535703909.7759054
time.gmtime(n):将时间戳格式转化为元组时间格式显示,时间为UTC时区;参数n为传入的时间戳,如果不传,则默认是当前时间
返回结果:time.struct_time(tm_year=1973, tm_mon=11, tm_mday=29, tm_hour=21, tm_min=33, tm_sec=9, tm_wday=3, tm_yday=333, tm_isdst=0);(年,月,日,时,分,秒,每周的第几天从0开始,当年的第多少天,夏令时)
>>> import time
>>> time.gmtime(123456789) # 传入时间戳,将时间戳转化为元组时间格式显示
time.struct_time(tm_year=1973, tm_mon=11, tm_mday=29, tm_hour=21, tm_min=33, tm_sec=9, tm_wday=3, tm_yday=333, tm_isdst=0)
>>> time.gmtime() # 未传参数,默认是当前的时间戳
time.struct_time(tm_year=2018, tm_mon=8, tm_mday=31, tm_hour=8, tm_min=34, tm_sec=45, tm_wday=4, tm_yday=243, tm_isdst=0)
time.localtime(n):将时间戳格式转化为元组是按格式显示,时间为UTC+8小时 时区;参数n为传入的时间戳,如果不传,则默认是当前时间
>>> import time
>>> n = time.localtime(11111111)
>>> print("%d年%d月%d日" % (n.tm_year, n.tm_mon, n.tm_mday)) # 读取元祖时间格式
1970年5月9日
>>> n
time.struct_time(tm_year=1970, tm_mon=5, tm_mday=9, tm_hour=22, tm_min=25, tm_sec=11, tm_wday=5, tm_yday=129, tm_isdst=0)
time.mktime(n):将元组时间格式转化为时间戳
>>> import time >>> n = time.localtime() >>> n time.struct_time(tm_year=2018, tm_mon=8, tm_mday=31, tm_hour=16, tm_min=45, tm_sec=14, tm_wday=4, tm_yday=243, tm_isdst=0) >>> time.mktime(n) 1535705114.0
time.strftime("%Y-%m-%d %H:%M:%S", format):将元组时间格式转化为格式化字符串;
各个字节代表:%Y:tm_year;%m:tm_mon;%d:tm_mday;%H:tm_hour;%M:tm_min;%S:tm_sec
>>> import time >>> n = time.localtime() >>> n time.struct_time(tm_year=2018, tm_mon=8, tm_mday=31, tm_hour=16, tm_min=52, tm_sec=30, tm_wday=4, tm_yday=243, tm_isdst=0) >>> time.strftime("%Y-%m-%d %H:%M:%S", n) '2018-08-31 16:52:30'
time.strptime("2018-08-01 00:30:59", "%Y-%m-%d %H:%M:%S"):将格式化字符串转化为元组时间格式
>>> import time >>> time.strptime("2018-08-01 00:30:59", "%Y-%m-%d %H:%M:%S") time.struct_time(tm_year=2018, tm_mon=8, tm_mday=1, tm_hour=0, tm_min=30, tm_sec=59, tm_wday=2, tm_yday=213, tm_isdst=-1)
time.asctime(tuple):将元组时间格式转化为"%a %b %d %H-%M-%S %Y"
注释:%a:星期几;%b:月份;%d:当月的第多少天
>>> import time >>> time.asctime(time.localtime()) 'Fri Aug 31 17:03:16 2018'
time.ctime(seconds):将时间戳转化为"%a %b %d %H-%M-%S %Y"
>>> import time >>> time.ctime(time.time()) 'Fri Aug 31 17:05:56 2018'
datetime模块
>>> import datetime
>>> datetime.datetime.now() # 获取当前时间
datetime.datetime(2018, 8, 31, 17, 16, 14, 801421)
>>> print(datetime.datetime.now()) # 获取当前时间
2018-08-31 17:16:20.034465
>>> datetime.datetime.now() + datetime.timedelta(3) # 获取当前时间往后 + 三天的时间
datetime.datetime(2018, 9, 3, 17, 16, 23, 807373)
>>> datetime.datetime.now() - datetime.timedelta(2) # 获取当前时间往后 - 两天的时间
datetime.datetime(2018, 8, 29, 17, 16, 28, 195937)
>>> datetime.datetime.now() + datetime.timedelta(hours = 3) # 获取当前时间 + 三小时
datetime.datetime(2018, 8, 31, 20, 16, 34, 494012)
>>> datetime.datetime.now() + datetime.timedelta(minutes = 30) # 获取当前时间 + 30分钟
datetime.datetime(2018, 8, 31, 17, 46, 38, 917607)
>>> datetime.datetime.now() + datetime.timedelta(seconds = 3) # 获取当前时间 + 3秒
datetime.datetime(2018, 8, 31, 17, 16, 51, 837951)
random模块
# 随机返回区间(0,1)任意浮点数 print(random.random()) # 随机返回区间[1,3]任意整数数 print(random.randint(1,3)) # 随机返回区间[0,3)任意整数数 print(random.randrange(3)) # 随机返回可迭代序列中的一个 print(random.choice("hello")) # 随机返回可迭代序列中的三个 print(random.sample("hello", 3)) # 随机返回区间(1,3)任意浮点数 print(random.uniform(1,3)) # 将一个有序数列,打乱重新排序 n = [1, 2, 3, 4, 5, 6] random.shuffle(n) print(n)