引入
1.什么是 time 与 datetime 模块
- 它们是 Python 中与时间处理有关的标准库模块
ps : Python 时间处理模块还有 calendar 模块
2.UTC 和 DST
- UTC(Coordinated Universal Time,世界协调时)格林威治天文时间,世界标准时间, 在中国 :
UTC+8
- DST(Daylight Saving Time)夏令时
一. Python中时间的三种表达方式
1.时间戳 (timestamp)
- 通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
- 返回时间戳方式的函数主要有time( ),clock( )等, 运行
print(type(time.time()))
, 返回的是float类型
import time
print(time.time()) # 1608256754.2573004
print(type(time.time())) # <class 'float'>
import time
print(time.strftime("%Y-%m-%d %H:%M:%S %p")) # 2020-12-18 10:25:16 AM
print(time.strftime("%Y-%m-%d %X")) # 2020-12-18 10:25:16 AM
符号 |
说明 |
%y |
两位数的年份表示(00-99) |
%Y |
四位数的年份表示(000-9999) |
%m |
月份(01-12) |
%d |
月内中的一天(0-31) |
%H |
24小时制小时数(0-23) |
%I |
12小时制小时数(01-12) |
%M |
分钟数(00=59) |
%S |
秒(00-59) |
%a |
本地简化星期名称 |
%A |
本地完整星期名称 |
%b |
本地简化的月份名称 |
%B |
本地完整的月份名称 |
%c |
本地相应的日期表示和时间表示 |
%j |
年内的一天(001-366) |
%p |
本地A.M.或P.M.的等价符 |
%U |
一年中的星期数(00-53)星期天为星期的开始 |
%w |
星期(0-6),星期天为星期的开始 |
%W |
一年中的星期数(00-53)星期一为星期的开始 |
%x |
本地相应的日期表示 |
%X |
本地相应的时间表示 |
%Z |
当前时区的名称 |
%% |
%号本身 |
3.结构化的时间 (struct_time) 元组
- struct_time 元组共有九个元素
- 返回 struct_time 的函数主要有 : localtime( ), gmtime( ), strptime( )
import time
⛅localtime( )
print(time.localtime()) # 本地时区元组(struct_time)
'''输出
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=18, tm_hour=8, tm_min=45, tm_sec=9, tm_wday=4, tm_yday=353, tm_isdst=0)\
'''
print(type(time.localtime())) # <class 'time.struct_time'>
print(time.localtime()[3]) # 8
⛅gmtime( )
print(time.gmtime()) # UTC时区元组(struct_time)
'''输出
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=18, tm_hour=0, tm_min=45, tm_sec=9, tm_wday=4, tm_yday=353, tm_isdst=0)
'''
print(type(time.gmtime())) # <class 'time.struct_time'>
print(time.gmtime()[0]) # 2020
-
元組 (struct_time) 九个元素的含义 :
索引(Index) | 属性(Attribute) | 值(Values) |
0 | tm_year(年) | 比如2011 |
1 | tm_mon(月) | 1 - 12 |
2 | tm_mday(日) | 1 - 31 |
3 | tm_hour(时) | 0 - 23 |
4 | tm_min(分) | 0 - 59 |
5 | tm_sec(秒) | 0 - 59 |
6 | tm_wday(weekday) | 0 - 6(0表示周日) |
7 | tm_yday(一年中的第几天) | 1 - 366 |
8 | tm_isdst(是否是夏令时) | 默认为-1 |
二.时间格式转换关系 (需要掌握)
1.转换图
- 计算机能认识的时间只能是 "时间戳" 格式
- 而人类能看懂的时间是 "格式化的时间字符串" 和 "结构化的时间", 于是就有了转换关系
2.格式转换操作 (需要掌握的操作)