学python的时候做一个小程序,其中用到了time()方法来输出使用者运行程序的时刻。觉得挺有用,就先记录一下。
首先导入time类
time.time()
import time
print(time.time())
结果:
1572865808.3058448
time.time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数)
time.localtime():
import time
print(time.localtime(time.time()))
结果:
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=4, tm_hour=19, tm_min=12, tm_sec=23, tm_wday=0, tm_yday=308, tm_isdst=0)
time.localtime([sec])作用是格式化时间戳为本地的时间。 如果sec参数未输入,则以当前时间为转换标准。
time.struct_time()中:
tm_isdst表示夏令时标识符,实行夏令时的时候,tm_isdst为正。不实行夏令时的时候,tm_isdst为0;不了解情况时,tm_isdst()为负。
tm_wday表示星期,0表示星期一,周一到周日依次为0-6。 tm_yday表示一年的多少天,取值为[0,365],0代表1月1日。
time.asctime():
import time
print(time.asctime(time.localtime(time.time())))
结果:
Mon Nov 4 19:21:13 2019
time.asctime() 函数接受时间元组并返回一个可读的形式为"Tue Dec 11 18:07:14 2008"(2008年12月11日 周二18时07分14秒)的24个字符的字符串。
关于时间戳的概念:时间戳(timestamp),一个能表示一份数据在某个特定时间之前已经存在的、 完整的、
可验证的数据,通常是一个字符序列,唯一地标识某一刻的时间。使用数字签名技术产生的数据, 签名的对象包括了原始文件信息、 签名参数、
签名时间等信息。广泛的运用在知识产权保护、 合同签字、 金融帐务、 电子报价投标、 股票交易等方面。[来源百度百科]
不过我觉得另一个解释更符合一般我们使用的时间戳概念:
时间戳是指格林威治时间自1970年1月1日(00:00:00 GMT)至当前时间的总秒数。它也被称为Unix时间戳(Unix Timestamp)。
最后放一下前面提到的那个小程序(简单计算BMI的)
#!/usr/bin/python3
print("welcome to calculate your BMI")
name = input("please input your name:")
height = eval(input("please input your height(m):"))
weight = eval(input("please input your weight(kg):"))
gender = input("please input your gender(F/M):")
BMI = float(float(weight)/(float(height)**2))
if BMI<=18.4:
print("name:",name,'Physical status: thin')
elif BMI<=23.9:
print("name:",name,"Physical status: normal")
elif BMI<=27.9:
print("name:",name,"Physical status: overweight")
else:
print("name:",name,"Physical status: obese")
import time
nowtime = (time.asctime(time.localtime(time.time())))
'''
time.time()返回的是当前时间的时间戳
time.localtime()格式化时间戳为本地时间
time.asctime()接收一个时间元组并返回一个可读的形式
'''
if gender == 'F':
print('感谢',name,'女士在',nowtime,'使用本程序,祝您身体健康')
if gender == 'M':
print('感谢',name,'先生在',nowtime,'使用本程序,祝您身体健康')