本文共 2201 字,大约阅读时间需要 7 分钟。
time 模块是 Python 中处理日期和时间的基础模块,提供了时间戳获取、格式化以及时间操作等功能。其核心功能包括:
strftime 和 strptime 方法实现日期格式转换。在 Python 中获取当前时间有以下几种方式:
import time# 获取当前时间戳(秒为单位)print(time.time()) # 返回浮点型时间戳# 获取本地时间(结构化时间)print(time.localtime()) # 返回 struct_time 元组# 获取 UTC 时间(格式化为 struct_time)print(time.gmtime())
strftime 格式化时间strftime 方法用于将时间转换为特定格式的字符串:
import time# 获取当前本地时间并格式化local_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())print("本地时间:", local_time) # 输出示例:2023-02-20 20:49:10 strptime 解析字符串时间strptime 方法用于将格式化的字符串转换为时间对象:
import time# 示例日期字符串date_str = "2023-02-20 20:49:10"# 将字符串转换为 datetime 对象time_obj = time.strptime(date_str, "%Y-%m-%d %H:%M:%S")print(time_obj) # 输出:datetime(2023, 2, 20, 20, 49, 10)
以下是常用时间格式化符号:
| 符号 | 说明 |
|---|---|
%Y | 四位数年份 |
%m | 两位数月份(01-12) |
%d | 两位数日期(01-31) |
%H | 24小时制小时数(00-23) |
%I | 12小时制小时数(01-12) |
%M | 分钟数(00-59) |
%S | 秒数(00-59) |
%p | AM/PM 表示 |
%b | 简化月份名称 |
%a | 简化星期名称 |
datetime 模块提供了更直观的时间和日期处理功能,支持日期、时间、时间差以及时区转换等操作。核心类包括:
datetime:表示具体的日期和时间。date:表示日期(不含时间)。timedelta:表示时间间隔。from datetime import datetime# 获取当前时间now = datetime.now()print(now) # 输出:2023-02-20 20:49:10
from datetime import datetime, timedelta# 获取当前时间now = datetime.now()# 3 天后three_days = now + timedelta(days=3)print(three_days) # 输出:2023-02-23 20:49:10# 3 小时 30 秒后three_hours = now + timedelta(hours=3, seconds=30)print(three_hours) # 输出:2023-02-20 23:49:40
from datetime import datetime# 获取当前时间并格式化formatted_time = now.strftime("%Y-%m-%d %H:%M:%S")print(formatted_time) # 输出:2023-02-20 20:49:10 date_str = "2023-02-20 20:49:10"date_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")print(date_obj) # 输出:2023-02-20 20:49:10
calendar 模块用于生成日历信息,支持自定义星期开始天数。默认情况下,星期一为第一天。
import calendar# 获取 2023 年 5 月的日历calendar.month(2023, 5)
| 模块 | 主要功能 | 适用场景 |
|---|---|---|
time | 时间戳获取、格式化、元组处理 | 简单时间处理 |
datetime | 日期、时间操作、格式化、时区转换 | 复杂时间和日期处理 |
calendar | 日历生成、星期计算 | 日历显示和管理 |
以上内容涵盖了 Python 中日期和时间处理的核心功能,涵盖 time、datetime 和 calendar 模块的使用方法。通过合理使用这些模块,可以方便地完成日期时间的处理任务。
转载地址:http://mgofk.baihongyu.com/