跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Python日期时间处理:datetime

python 中处理日期和时间的核心方法包括:1. 获取当前时间使用datetime.now();2. 提取日期或时间部分分别用date()和time();3. 格式化输出 用strftime(),解析字符串用strptime();4. 时间加减用timedelta,比较用关系运算符;5. 处理时区推荐使用timezone或第三方库。这些操作覆盖了时间获取、格式转换、计算及跨时区处理等常见需求。 处理日期和时间是编程中很常见的需求,Python 提供了
datetime
模块来帮助我们完成这些任务。这个模块功能强大、使用方便,适合大多数与时间相关的操作。 获取当前时间和日期 最基础的操作就是获取当前的时间和日期。我们可以用
datetime.now()
来快速获取:
from datetime import datetime now = datetime.now() print("当前时间:", now)
这段代码会输出类似
2025-04-05 14:30:45.123456
的结果,包含年月日、时分秒和微秒。 立即学习 “ Python免费学习笔记(深入) ”; 如果你只需要日期或者时间部分,可以分别使用
date()
和
time()
方法:
now.date()
得到日期部分(如
2025-04-05
)
now.time()
得到时间部分(如
14:30:45.123456
) 时间格式化与解析 很多时候我们需要把时间转成特定格式的字符串,或者反过来从 字符串解析 成
datetime
对象。 格式化输出 使用
.strftime()
方法可以自定义输出格式:
formatted = now.strftime("%Y-%m-%d %H:%M:%S") print("格式化后的时间:", formatted)
常用的格式符包括: Eclipse导入Android或其他的JAVA项目的正确方法 WORD版 本文档主要讲述的是Eclipse导入Android或其他的JAVA项目的正确方法;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看 下载
%Y
年(四位数)
%m
月
%d
日
%H
小时(24小时制)
%M
分钟
%S
秒 从字符串解析时间 如果有一个时间字符串,比如
"2025-04-05 14:30:00"
,可以用
strptime()
转成
datetime
:
date_str = "2025-04-05 14:30:00" parsed = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
注意格式字符串要和输入字符串严格匹配,否则会报错。 时间加减和比较
datetime
可以配合
timedelta
进行加减操作,例如计算昨天或明天的时间:
from datetime import timedelta yesterday = now - timedelta(days=1) tomorrow = now + timedelta(days=1)
你也可以直接比较两个时间点的先后:
if yesterday < tomorrow: print("时间顺序正确")
这在判断时间区间、超时检测等场景非常实用。 注意时区问题 默认情况下,
datetime.now()
返回的是本地时间,不带时区信息。如果你需要处理跨时区的时间,建议使用第三方库如
pytz
或 Python 3.9+ 的
zoneinfo
:
from datetime import timezone, timedelta # 设置为 UTC+8 时间 tz = timezone(timedelta(hours=8)) now_with_tz = datetime.now(tz=tz)
有明确时区信息的时间对象才能安全地进行跨时区转换和比较。 基本上就这些常用操作了。
datetime
模块虽然简单,但很多细节比如格式字符串、时区处理容易出错,平时写的时候多留心一下。

相关文章