DukeDuke
主页
文档转换
关于我们
主页
文档转换
关于我们
  • 什么是Python
  • Python简介
  • Python安装
  • Python基础语法
  • Python数据类型
  • Python数字
  • Python字符串
  • Python列表
  • Python元组
  • Python字典
  • Python日期时间
  • Python文件操作
  • Python异常处理
  • Python函数
  • Python类
  • Python模块
  • Python包
  • Python多线程
  • Python面向对象
  • Python爬虫
  • Django web框架

Python 日期时间

Python 的 datetime 模块提供了处理日期和时间的类和函数。这个模块是 Python 标准库的一部分,不需要额外安装。

主要类

datetime.datetime

用于处理日期和时间的组合。

from datetime import datetime

# 获取当前日期和时间
now = datetime.now()
print(now)  # 输出类似:2024-03-21 14:30:45.123456

# 创建特定的日期时间
dt = datetime(2024, 3, 21, 14, 30, 45)
print(dt)  # 输出:2024-03-21 14:30:45

datetime.date

仅用于处理日期。

from datetime import date

# 获取当前日期
today = date.today()
print(today)  # 输出类似:2024-03-21

# 创建特定的日期
d = date(2024, 3, 21)
print(d)  # 输出:2024-03-21

datetime.time

仅用于处理时间。

from datetime import time

# 创建特定的时间
t = time(14, 30, 45)
print(t)  # 输出:14:30:45

常用操作

日期时间格式化

from datetime import datetime

now = datetime.now()

# 格式化日期时间
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)  # 输出类似:2024-03-21 14:30:45

# 解析字符串为日期时间
dt_str = "2024-03-21 14:30:45"
dt = datetime.strptime(dt_str, "%Y-%m-%d %H:%M:%S")
print(dt)  # 输出:2024-03-21 14:30:45

日期时间计算

from datetime import datetime, timedelta

now = datetime.now()

# 增加天数
future = now + timedelta(days=7)
print(future)  # 7天后的日期时间

# 减少天数
past = now - timedelta(days=7)
print(past)  # 7天前的日期时间

# 增加小时
future_hour = now + timedelta(hours=2)
print(future_hour)  # 2小时后的日期时间

时区处理

from datetime import datetime
import pytz

# 获取特定时区的当前时间
tz = pytz.timezone('Asia/Shanghai')
shanghai_time = datetime.now(tz)
print(shanghai_time)  # 上海时区的当前时间

# 转换时区
utc_time = datetime.now(pytz.UTC)
shanghai_time = utc_time.astimezone(pytz.timezone('Asia/Shanghai'))
print(shanghai_time)  # 将 UTC 时间转换为上海时间

常用格式化代码

  • %Y: 四位数的年份
  • %m: 两位数的月份
  • %d: 两位数的日期
  • %H: 24 小时制的小时
  • %I: 12 小时制的小时
  • %M: 分钟
  • %S: 秒
  • %f: 微秒
  • %z: UTC 时区偏移
  • %Z: 时区名称
  • %j: 一年中的第几天
  • %U: 一年中的第几周(周日为一周的开始)
  • %W: 一年中的第几周(周一为一周的开始)

注意事项

  1. 处理时区时,建议使用 pytz 库而不是 datetime 模块的 timezone 类
  2. 在进行日期时间计算时,注意考虑闰年、夏令时等特殊情况
  3. 在处理用户输入的日期时间字符串时,建议使用 try-except 进行异常处理
  4. 存储日期时间时,建议使用 UTC 时间,显示时再转换为本地时间
最近更新:: 2026/4/17 13:21
Contributors: Duke
Prev
Python字典
Next
Python文件操作