时间戳、时间元组、格式化字符串的表示方法
import time
时间戳
ret=time.time()
print(ret)
# 时间元组
ret=time.localtime()
print(ret)
# 格式化时间字符串
ret=time.strftime('%Y-%m-%d %X')
print(ret)
时间戳,时间元组,格式化字符串之间转化表示方法:
1、 时间戳和时间元组的相互转换
时间戳转换为时间元组:
time.gmtime和time.localtime()
返回的是utc时间与北京时间差8小时
time.gtime()
import time
ret=time.gmtime() #将当前的时间戳转化为时间元组
print(ret)
运行结果:
time.struct_time(tm_year=2019, tm_mon=1, tm_mday=9, tm_hour=10, tm_min=55, tm_sec=40, tm_wday=2, tm_yday=9, tm_isdst=0)
time.localtime()
ret=time.localtime()
print(ret)
ret=time.localtime(1500001) #传递时间戳,将指定的时间戳转换成时间元组
print(ret)
运行结果:
#time.struct_time(tm_year=1970, tm_mon=1, tm_mday=18, tm_hour=16, tm_min=40, tm_sec=1, tm_wday=6, tm_yday=18, tm_isdst=0)
时间元组转化成时间戳
time.mktime()
ret=time.localtime() #时间元组
ts=time.mktime(ret) #将时间元组转换为时间戳
print(ts) #---->1546997667.0
2、时间元组和格式化字符串之间的转化
(1)、时间元组转化为字符串 time.strftime
ret1=time.localtime(1500000) #指定时间戳转换为时间元组
ret=time.strftime('%Y-%m-%d %X',ret1) #将时间元组转换为格式化字符串日期
print(ret) #1970-01-18 16:40:00
(2)、字符串转化为时间元组
time.strptime()
ret=time.strptime('1970-11-22','%Y-%m-%d')
print(ret)
运行结果:
#time.struct_time(tm_year=1970, tm_mon=11, tm_mday=22, tm_hour=0, tm_min=0,
时间元组转化为格式化字符串
time.asctime(时间元组) 如果不传参数,直接返回当前时间的格式化字符串
ret=time.asctime()
print(ret) # Wed(星期三) Jan(一月) 9(9号) 09:45:52 2019
时间戳和时间元组转换为格式化字符串:
时间戳转换为格式化字符串的方式:
time.ctime(时间戳)
ret=time.ctime(15000000)
print(ret)
转换结果:
Tue Jun 23 22:40:00 1970
时间元组转换为格式化字符串:
time.asctime(时间元组) 如果不传参数,直接返回当前时间的格式化字符串
ret=time.asctime()
print(ret)
运行结果;
Wed(星期三) Jan(一月) 9(9号) 09:45:52 2019
练习题:计算从出生到现在过了多少秒?
解题思路:分别将自己出生日期以及现在的日期字符串格式转换为时间元组,然后转化为时间戳相减
old_time=time.mktime(time.strptime('1995-06-27','%Y-%m-%d'))
now_time=time.mktime(time.strptime('2019-01-09','%Y-%m-%d'))
ret=now_time-old_time
print(ret)
运行结果;
742780800.0