import time
#三种表示时间的方式
# 1,时间戳 time.time() 计算机能够识别的时间
# print(time.time()) #返回 1527695364.71959,从1970年开始到现在的时间,
# 2,格式化的字符串 time.strftime('%Y-%m-%d') Y:年 m: 月 d:日
# print(time.strftime('%Y-%m-%d'))# 返回:2018-05-30
# 3,元祖结构的时间 localtime 将一个时间戳转换为当前时区的struct_time,默认是打印当前的时间,加参数是可以某个时间戳,包括过去未来的时间
# print(time.localtime()) #返回:time.struct_time(tm_year=2018, tm_mon=5, tm_mday=31, tm_hour=0, tm_min=4, tm_sec=38, tm_wday=3, tm_yday=151, tm_isdst=0)
''''
# 几种格式之间的转换
#将时间戳转换为元祖形式的时间 gmtime
# a = time.gmtime(123456789)
# print(a) #方法结果一样只是这显示为伦敦时间,UTC时间,与英国伦敦当地时间一致
# a1 = time.localtime(123456789) #显示为北京时间,与UTC时间相差8小时,UTC时间+8小时 = 北京时间
# print(a1) #返回: time.struct_time(tm_year=1973, tm_mon=11, tm_mday=30, tm_hour=5, tm_min=33, tm_sec=9, tm_wday=4, tm_yday=334, tm_isdst=0)
#将元祖形式的时间转换为时间戳 mktime 需要先传入一个元祖结构的时间,然后再转换为时间戳格式
b = time.localtime(123456789)
b1 = time.mktime(b)
print(b1) #返回:123456789.0
'''
#结构化时间-->字符串时间 time.strftime("格式定义","结构化时间")
a = time.strftime("%Y-%m-%d %X") #默认是将当前的时间传入,然后转成格式化的字符串时间
print(a) # 2018-05-31 00:43:27
a1 = time.strftime("%Y-%m-%d %X",time.localtime(123456789)) #先传入一个时间戳转换为元祖结果的时间,然后再转换为字符串形式的时间
print(a1) #1973-11-30 05:33:09 应用,就是给你一个时间戳让你转换为字符串的格式时间
# 字符串时间-->结构化时间 #time.strptime(时间字符串,字符串对应格式)
b1 = time.strptime("2017-03-16","%Y-%m-%d")
print(b1) #time.struct_time(tm_year=2017, tm_mon=3, tm_mday=16, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=75, tm_isdst=-1)
# 元祖结构的时间 --> %a %b %d %H:%M:%S %Y串
#time.asctime(结构化时间) 如果不传参数,直接返回当前时间的格式化串
c = time.asctime(time.localtime(123456789))
print(c) #Fri Nov 30 05:33:09 1973
#时间戳 --> %a %d %d %H:%M:%S %Y串
#time.ctime(时间戳) 如果不传参数,直接返回当前时间的格式化串
time.ctime()
#'Mon Jul 24 15:19:07 2017'
time.ctime(1500000000)