python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python datetime库时间处理

Python datetime库一键搞定时间处理(实战必备!)

作者:小花设计

Python的datetime模块是处理日期和时间的核心库,提供了丰富的类 和方法来操作日期、时间、时间间隔和时区,这篇文章主要介绍了Python datetime库一键搞定时间处理的相关资料,需要的朋友可以参考下

前言

Python 的 datetime 模块是处理日期和时间的核心库,提供了丰富的类和方法来操作日期、时间、时间间隔和时区。以下是对该模块的详细介绍:

主要类

关键操作示例

1. 获取当前时间

from datetime import datetime
now = datetime.now()  # 2023-05-15 14:30:45.123456

2. 时间格式化与解析

# 日期时间 → 字符串
s = now.strftime("%Y-%m-%d %H:%M:%S")  # "2023-05-15 14:30:45"

# 字符串 → 日期时间
dt = datetime.strptime("2023-05-15", "%Y-%m-%d")  # 时间部分默认为 00:00:00

3. 时间计算

from datetime import timedelta

# 加减时间
tomorrow = now + timedelta(days=1)
last_hour = now - timedelta(hours=1)

# 计算时间差
diff = tomorrow - now
print(diff.total_seconds())  # 86400.0 秒

4. 时区处理

from datetime import timezone, timedelta

# 创建 UTC+8 时区
tz_beijing = timezone(timedelta(hours=8))
dt_local = datetime(2023, 5, 15, 14, 30, tzinfo=tz_beijing)

# 转换为 UTC 时间
dt_utc = dt_local.astimezone(timezone.utc)  # 2023-05-15 06:30:00+00:00

5. 获取日期/时间部分

date_part = now.date()  # 返回 date 对象
time_part = now.time()  # 返回 time 对象
year = now.year        # 2023

格式化符号表

符号含义示例
%Y四位年份2023
%m两位月份(01-12)05
%d两位日期(01-31)15
%H24小时制小时(00-23)14
%M分钟(00-59)30
%S秒(00-59)45
%f微秒(000000-999999)123456
%A星期全名Monday
%a星期缩写Mon
%B月份全名May
%b月份缩写May

最佳实践

完整示例

from datetime import datetime, timedelta, timezone

# 1. 获取当前时间(带时区)
now = datetime.now(timezone.utc)

# 2. 转换为北京时间 (UTC+8)
tz_beijing = timezone(timedelta(hours=8))
beijing_time = now.astimezone(tz_beijing)

# 3. 格式化输出
formatted = beijing_time.strftime("%Y-%m-%d %H:%M:%S %Z")
print(f"Beijing Time: {formatted}")  # e.g., "2023-05-15 22:30:45 UTC+08:00"

# 4. 计算7天后的日期
future = beijing_time + timedelta(days=7)

# 5. 解析字符串时间
dt_parsed = datetime.strptime("2023-12-31", "%Y-%m-%d")

通过掌握 datetime 模块,你可以高效处理绝大多数日期时间相关任务!

到此这篇关于Python datetime库一键搞定时间处理的文章就介绍到这了,更多相关Python datetime库时间处理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文