Python 日期时间处理

Python 的 datetime 模块是处理日期时间的利器。

1. 获取当前时间

from datetime import datetime, date, time

# 当前datetime
now = datetime.now()
today = datetime.today()

# 当前日期
d = date.today()

# 当前时间
t = time.min  # 00:00:00

2. 创建日期时间

from datetime import datetime

# 直接指定
dt = datetime(2024, 1, 15, 10, 30, 0)
dt = datetime(year=2024, month=1, day=15)

# 从时间戳
dt = datetime.fromtimestamp(1704067200)

# 从字符串
dt = datetime.strptime("2024-01-15 10:30:00", "%Y-%m-%d %H:%M:%S")

3. 格式化输出

dt = datetime.now()

# 转为字符串
dt.strftime("%Y-%m-%d %H:%M:%S")  # 2024-01-15 10:30:00
dt.isoformat()                     # 2024-01-15T10:30:00

# 提取部分
dt.year    # 2024
dt.month  # 1
dt.day    # 15
dt.hour   # 10

4. 日期计算

from datetime import datetime, timedelta

# 时间差
delta = timedelta(days=7, hours=2)

# 加减
new_dt = dt + delta
new_dt = dt - delta

# 相差
diff = dt2 - dt1  # 返回 timedelta
diff.days
diff.seconds

5. 时区处理

from datetime import datetime, timezone

# UTC时间
dt_utc = datetime.now(timezone.utc)

# 转换为不同时区
import pytz  # 需要安装

日期时间处理是编程中的常见需求。