时间模块相关术语
- epoch 是时间开始的点,并且取决于平台。
对于Unix, epoch 是1970年1月1日00:00:00(UTC)。
要找出给定平台上的 epoch ,请查看 time.gmtime(0) - Unix 纪元秒数 是指自国际标准时间 1970 年 1 月 1 日零时以来经过的总秒数,通常不包括 闰秒。
在所有符合 POSIX 标准的平台上,闰秒都会从总秒数中被扣除 - 此模块中的功能可能无法处理纪元之前或将来的远期日期和时间。
未来的截止点由C库决定;对于32位系统,它通常在2038年 - UTC是协调世界时(以前称为格林威治标准时间,或GMT)。
缩写UTC不是错误,而是英语和法语之间的妥协 - DST是夏令时,在一年中的一部分时间(通常)调整时区一小时。
DST规则很神奇(由当地法律确定),并且每年都会发生变化。 - 时间元组:
(tm_year = 年, tm_mon = 月, tm_mday = 日, tm_hour = 时,
tm_min = 分, tm_sec = 秒, tm_wday = 周几, tm_yday= 一年中的第几天 ,
tm_isdst = 是否是夏令时时间)
索引 | 属性 | 值 |
---|
0 | tm_year | (例如,1993) |
1 | tm_mon | range [1, 12] |
2 | tm_mday | range [1, 31] |
3 | tm_hour | range [0, 23] |
4 | tm_min | range [0, 59] |
5 | tm_sec | range [0, 61]; 百度闰秒的概念 |
6 | tm_wday | range [0, 6] ,周一为 0 |
7 | tm_yday range [1, 366] | |
8 | tm_isdst | 0, 1 或 -1;如下所示 |
N/A | tm_zone | 时区名称的缩写 |
N/A | tm_gmtoff | 以秒为单位的UTC以东偏离 |
格式化时间字符串
指令 | 含义 |
---|
%a | 本地化的缩写星期中每日的名称。 |
%A | 本地化的星期中每日的完整名称。 |
%b | 本地化的月缩写名称。 |
%B | 本地化的月完整名称。 |
%c | 本地化的适当日期和时间表示。 |
%d | 十进制数 [01,31] 表示的月中日。 |
%H | 十进制数 [00,23] 表示的小时(24小时制)。 |
%I | 十进制数 [01,12] 表示的小时(12小时制)。 |
%j | 十进制数 [001,366] 表示的年中日。 |
%m | 十进制数 [01,12] 表示的月。 |
%M | 十进制数 [00,59] 表示的分钟。 |
%p | 本地化的 AM 或 PM 。 |
%S | 十进制数 [00,61] 表示的秒。 |
%U | 十进制数 [00,53] 表示的一年中的周数(星期日作为一周的第一天)。 在第一个星期日之前的新年中的所有日子都被认为是在第 0 周。 |
%w | 十进制数 [0(星期日),6] 表示的周中日。 |
%W | 十进制数 [00,53] 表示的一年中的周数(星期一作为一周的第一天)。 在第一个星期一之前的新年中的所有日子被认为是在第 0 周。 |
%x | 本地化的适当日期表示。 |
%X | 本地化的适当时间表示。 |
%y | 十进制数 [00,99] 表示的没有世纪的年份。 |
%Y | 十进制数表示的带世纪的年份。 |
%z | 时区偏移以格式 +HHMM 或 -HHMM 形式的 UTC/GMT 的正或负时差指示,其中H表示十进制小时数字,M表示小数分钟数字 [-23:59, +23:59] 。 |
%Z | 时区名称(如果不存在时区,则不包含字符)。 |
%% | 字面的 '%' 字符。 |
不常用的属性函数(了解)
- time.gmtime() # UTC时间元组(世界标准时间)
- time.timezone # 当前时区(时区的时间差)
- time.altzone # 当前时区(夏令时)
- time.daylight # 夏令时状态
时间模块
time.time() # 本地时间戳
time.localtime() # 本地时间元组 (参数是时间戳,默认为当前时间)
time.mktime() # 通过时间元组获取时间戳 (参数是时间元组)
time.ctime() # 本地时间字符串 (参数是时间戳,默认为当前时间)
time.asctime() # 通过时间元组获取时间字符串(参数是时间元组)
time.sleep() # 程序睡眠等待
time.strftime() # 格式化时间字符串(格式化字符串, 时间元组)
time.strptime() # 将时间字符串通过指定格式提取到时间元组中(时间字符串, 格式化字符串)
time.perf_counter() # 计算程序运行的时间,连续调用才可用