一、时间模块 time
该模块提供了各种与时间相关的功能。
详见官方文档(英文):https://docs.python.org/3/library/time.html
二、时间简介
公元纪年是从公元0000年1月1日0时开始;对于Unix/Linux系统,计算机元年是从1970年1月1日0时开始的,此时时间为0。UTC时间(Coordinated Universal Time)是从Greenwich时间开始计算的;UTC 时间不会因时区问题而产生错误。
DST阳光节约时间(Daylight Saving Time),又称夏令时,是一个经过日照时间修正后的时间。
三、时间元组
- 时间元组是一个9个整型元素组成的,这九个元素自前至后依次为:
- 四位的年(如: 1993)
- 月 (1-12)
- 日 (1-31)
- 时 (0-23)
- 分 (0-59)
- 秒 (0-59)
- 星期几 (0-6, 周一是 0)
- 元旦开始日 (1-366)
- 夏令时修正时间 (-1, 0 or 1).
注:
- 如果年份值小于100,则会自动转换为加上1900后的值
gmtime(),localtime() 返回的,mktime传入的
模块名: time
四、时间模块用法
import time # 或 from time import *
变量 | 描述 |
---|---|
time.altzone | 夏令时时间与UTC时间差(秒为单位) |
time.daylight | 夏令时校正时间 |
time.timezone | 本地区时间与UTC时间差(秒为单位) |
time.tzname | 时区名字的元组, 第一个名字为未经夏令时修正的时区名,第一个名字为经夏令时修正后的时区名 |
注: CST为中国标准时间(China Standard Time UTC+8:00)
函数名 | 描述 |
---|---|
time.time() | 返回从计算机元年至当前时间的秒数的浮点数(UTC时间为准) |
time.sleep(secs) | 让程序按给定秒数的浮点数睡眠一段时间 |
time.gmtime([secs]) | 将给秒数转换为用UTC表达的时间元组 |
time.asctime([tuple]) | 将时间元组转换为日期时间字符串 |
time.mktime(tuple) | 将本地日期时间元组转换为新纪元秒数时间(UTC为准) |
time.localtime([secs]) | 将UTC秒数时间转换为日期元组(以本地时间为准) |
五、例子
写一个程序打印出一个电子时钟,格式为:
HH:MM:SS 格式
17:27:23
每隔一秒钟,打印刷新一次
import time
def show_time():
while True:
t =time.localtime()
print("\r %2d:%2d:%02d" %(t[3],t[4],t[5]),end="") # \r 回到行首,进行刷新时间
time.sleep(1)
show_time()