目录
- 一、Pythondatetime模块概述
- 二、datetime模块核心类解析
- 三、日期时刻格式化与解析
- 四、典型应用场景
- 五、注意事项
一、Pythondatetime模块概述
Python的datetime
模块是标准库中用于处理日期和时刻的核心模块,提供了下面内容核心功能:
- 日期/时刻对象化:将日期、时刻、日期时刻等抽象为对象,支持计算和比较。
- 格式化与解析:支持日期时刻与字符串之间的双向转换。
- 时区处理:支持本地时刻和带时区的时刻计算(需搭配
pytz
等第三方库增强)。 - 时刻运算:通过
timedelta
实现时刻差计算,支持日期时刻的加减操作。
二、datetime模块核心类解析
1.date
类:处理日期(年、月、日)
- 用途:处理不含时刻的纯日期。
- 关键技巧:
from datetime import datetoday = date.today() 获取当前日期custom_date = date(2023, 10, 1) 创建指定日期print(today.year, today.month, today.day) 输出:2023 10 1
2.time
类:处理时刻(时、分、秒、微秒)
- 用途:处理不含日期的纯时刻。
- 示例:
from datetime import timet = time(14, 30, 15) 14:30:15print(t.hour, t.minute) 输出:14 30
3.datetime
类:组合日期和时刻
- 核心功能:同时处理日期和时刻,支持时区(需配置)。
- 常用操作:
from datetime import datetimenow = datetime.now() 当前本地时刻utc_now = datetime.utcnow() 当前UTC时刻dt = datetime(2023, 10, 1, 9, 30) 2023-10-01 09:30:00 时刻戳转换timestamp = dt.timestamp() 转为Unix时刻戳dt_from_ts = datetime.fromtimestamp(1633068600)
4.timedelta
类:时刻间隔计算
- 用途:表示两个时刻点之间的差值。
- 示例:
from datetime import datetime, timedeltanow = datetime.now()future = now + timedelta(days=7, hours=3) 7天3小时后delta = future – now 计算时刻差print(delta.days) 输出:7
5.tzinfo
与时区处理
- 基础时区:Python内置
timezone
类(需Python 3.2+)。 - 第三方库:推荐使用
pytz
处理复杂时区。 - 示例:
from datetime import datetime, timezoneimport pytz 本地时刻转UTClocal_dt = datetime(2023, 10, 1, 10, 0)utc_dt = local_dt.astimezone(timezone.utc) 使用pytz处理时区tz_shanghai = pytz.timezone(‘Asia/Shanghai’)dt_with_tz = tz_shanghai.localize(datetime(2023, 10, 1, 10, 0))
三、日期时刻格式化与解析
1.strftime
:日期 → 字符串
dt = datetime(2023, 10, 1, 14, 30)formatted = dt.strftime(“%Y-%m-%d %H:%M:%S”) 输出:2023-10-01 14:30:00
2.strptime
:字符串 → 日期
date_str = “2023-10-01″dt = datetime.strptime(date_str, “%Y-%m-%d”) 解析为datetime对象
3.常用格式符号
格式符号 | 含义 | 示例 |
---|---|---|
%Y | 四位年份 | 2023 |
%m | 两位月份 | 10 |
%d | 两位日期 | 01 |
%H | 24小时制小时 | 14 |
%M | 分钟 | 30 |
%S | 秒 | 45 |
四、典型应用场景
倒计时计算:
end_date = datetime(2023, 12, 31)days_left = (end_date – datetime.now()).days
日志时刻戳:
log_time = datetime.now().strftime(“[%Y-%m-%d %H:%M:%S]”)
用户输入处理:
user_input = “2023-10-01″try: dt = datetime.strptime(user_input, “%Y-%m-%d”)except ValueError: print(“日期格式错误!”)
五、注意事项
- 时区敏感性:默认
datetime
对象是“naive”(无时区),处理跨时区需显式指定。 - 性能优化:频繁时刻计算建议使用时刻戳(
timestamp()
)存储。 - 闰年处理:
date
类自动处理闰年,如date(2024, 2, 29)
有效。
若无论兄弟们需要更高质量的时刻处理功能(如天然语言解析),可参考第三方库dateutil
或arrow
。
到此这篇关于Python datetime 模块概述的文章就介绍到这了,更多相关Python datetime 模块内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!
无论兄弟们可能感兴趣的文章:
- Python时刻处理模块time和datetime详解
- Python基本聪明之datetime模块详解
- python使用datetime模块处理日期时刻及常用功能详解
- python?datetime模块详解
- Python中的datetime包与time包包和模块详情
- python 常用日期处理&8211; datetime 模块的使用
- Python Datetime模块和Calendar模块用法实例分析
- Python基于datetime或time模块分别获取当前时刻戳的技巧实例
- Python日期时刻模块datetime详解与Python 日期时刻的比较,计算实例代码
- python中datetime模块中strftime/strptime函数的使用
- Python的时刻模块datetime详解
- Python中的time模块与datetime模块用法拓展资料