2025-03-12
编程
00
请注意,本文编写于 47 天前,最后修改于 47 天前,其中某些信息可能已经过时。

目录

主要类
常用方法与属性
datetime.datetime
计算两个日期之间的时间差
添加天数到当前日期
将字符串转换为日期时间对象并格式化输出
时区支持

看起来您想了解的是datetime模块,而不是datatimedatetime是Python标准库中的一个模块,用于处理日期和时间。它提供了丰富的类来操作日期和时间,包括解析、格式化以及算术运算。

主要类

  1. datetime.datetime: 包含日期和时间。
  2. datetime.date: 只包含日期(年、月、日)。
  3. datetime.time: 只包含时间(时、分、秒、微秒)。
  4. datetime.timedelta: 表示两个日期或时间之间的差异。
  5. datetime.tzinfo: 作为基类用于表示时区信息。
  6. datetime.timezone: 实现了tzinfo接口的具体类,用于固定偏移量的时区。

常用方法与属性

datetime.datetime

  • 创建当前日期和时间:
    python
    from datetime import datetime now = datetime.now() print(now)
  • 格式化日期时间:
    python
    formatted_time = now.strftime('%Y-%m-%d %H:%M:%S') print(formatted_time) # 输出: 例如 '2025-03-12 16:30:00'
  • 字符串转换为日期时间:
    python
    date_str = "2025-03-12 16:30:00" parsed_date = datetime.strptime(date_str, '%Y-%m-%d %H:%M:%S') print(parsed_date)

datetime.date

  • 获取今天的日期:
    python
    from datetime import date today = date.today() print(today) # 输出: 例如 '2025-03-12'
  • 创建特定日期:
    python
    specific_date = date(2025, 3, 12) print(specific_date)

datetime.time

  • 创建特定时间:
    python
    from datetime import time specific_time = time(16, 30, 0) print(specific_time) # 输出: '16:30:00'

datetime.timedelta

  • 计算日期差:
    python
    from datetime import timedelta delta = timedelta(days=5, hours=3) future_date = today + delta print(future_date)

示例代码

计算两个日期之间的时间差

python
from datetime import datetime date1 = datetime(2025, 3, 12) date2 = datetime(2025, 3, 17) delta = date2 - date1 print(delta.days) # 输出: 5

添加天数到当前日期

python
from datetime import datetime, timedelta now = datetime.now() future = now + timedelta(days=10) print(future.strftime('%Y-%m-%d %H:%M:%S'))

将字符串转换为日期时间对象并格式化输出

python
from datetime import datetime date_string = "2025-03-12 16:30:00" date_object = datetime.strptime(date_string, '%Y-%m-%d %H:%M:%S') print(date_object.strftime('%A, %B %d, %Y')) # 输出: 'Wednesday, March 12, 2025'

时区支持

从Python 3.2开始,datetime模块增加了对时区的支持。你可以使用timezone类创建固定偏移量的时区对象,或者继承tzinfo类实现更复杂的时区逻辑。

python
from datetime import datetime, timezone, timedelta # 创建一个UTC+8时区 tz = timezone(timedelta(hours=8)) dt = datetime.now(tz) print(dt) # 输出带有时区信息的日期时间

对于更复杂的需求,如夏令时(DST),推荐使用第三方库如pytzzoneinfo(Python 3.9引入)。