时间模块相关术语
- 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() # 计算程序运行的时间,连续调用才可用