time模块
基本方法
官方文档:https://docs.python.org/zh-cn/3/library/time.html
import timetime.sleep(3)# 推迟指定的时间运行,单位为秒time.time()# 获取当前时间戳
表示时间的三种方式
时间戳
描述
时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。返回的是float类型
使用
import timeprint(time.time())# 1648554881.1094248# 计算运行程序时间start = time.time()print("Hello")time.sleep(3)print("World")end = time.time()times = end - startprint(f"运行了{time}秒")# 运行了3.0042519569396973
结构化时间
描述
主要展示给计算机看,人看起来不太方便
使用
import timetimes = time.localtime()print(times)# time.struct_time(tm_year=2022, tm_mon=3, tm_mday=29, tm_hour=20, tm_min=1, tm_sec=35, tm_wday=1, tm_yday=88, tm_isdst=0)
| 索引(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 - 60 |
| 6 | tm_wday(weekday) | 0 - 6(0表示周一) |
| 7 | tm_yday(一年中的第几天) | 1 - 366 |
| 8 | tm_isdst(是否是夏令时) | 默认为0 |
格式化时间
描述
人最容易接收的一种时间格式
使用
import timetimes = time.strftime('%Y-%m-%d %H:%M:%S')print(times)# 2022-03-29 20:10:19times = time.strftime('%Y-%m-%d %X')# 2022-03-29 20:10:19
| 指令 | 含意 |
|---|---|
%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 |
时区偏移表示与UTC/GMT的正时差或负时差,其形式为+HHMM或-HHMM,其中H表示十进制小时数,M表示十进制分钟数[-23:59,+23:59] |
%Z |
时区名称(如果不存在时区,则不包含字符) |
%% |
字面的 '%' 字符。 |
时间类型的转换

import timetimes = time.localtime(time.time())print(times)# time.struct_time(tm_year=2022, tm_mon=3, tm_mday=29, tm_hour=20, tm_min=32, tm_sec=24, tm_wday=1, tm_yday=88, tm_isdst=0)
datetime模块
官方文档:https://docs.python.org/zh-cn/3/library/datetime.html
基本方法
import datetimetimes = datetime.date.today()print(times)# 2022-03-29times = datetime.datetime.today()print(times)# 2022-03-29 20:37:00.244096print(times.year) # 获取年# 2022print(times.month) # 获取月# 3print(times.weekday()) # 星期0-6# 1print(times.isoweekday()) # 星期1-7# 2
计算时间差
import datetimetimes = datetime.datetime.today()times_tel = datetime.timedelta(days=4) # 参数:days=0, seconds=0, microseconds=0,milliseconds=0, minutes=0, hours=0, weeks=0print(times_tel)# 4 days, 0:00:00print(times+times_tel) # 获取后四天# 2022-04-02 20:43:18.649433
