第二十四章:datetime模块

完成本章学习后,你将能够:

  • 处理日期和时间
  • 进行时区转换
  • 格式化日期时间
  • 计算时间差
from datetime import datetime, date, time, timedelta
 
# 当前日期时间
now = datetime.now()
print(now)  # 2024-01-15 10:30:45.123456
 
# 当前日期
today = date.today()
print(today)  # 2024-01-15
 
# 创建特定日期时间
dt = datetime(2024, 1, 15, 10, 30, 0)
d = date(2024, 1, 15)
t = time(10, 30, 0)
from datetime import datetime
 
# 格式化
dt = datetime.now()
print(dt.strftime("%Y-%m-%d %H:%M:%S"))  # 2024-01-15 10:30:45
print(dt.strftime("%A, %B %d, %Y"))      # Monday, January 15, 2024
 
# 解析
dt = datetime.strptime("2024-01-15", "%Y-%m-%d")
 
# ISO格式
dt = datetime.fromisoformat("2024-01-15T10:30:00")
print(dt.isoformat())
from datetime import datetime, timedelta
 
now = datetime.now()
 
# 加减时间
future = now + timedelta(days=7, hours=3)
past = now - timedelta(weeks=1)
 
# 时间差
diff = future - now
print(diff.days)      # 7
print(diff.seconds)   # 10800 (3小时)
print(diff.total_seconds())
 
# 比较
print(future > now)   # True
from datetime import datetime, timezone, timedelta
import pytz  # 第三方库
 
# UTC时间
utc = datetime.now(timezone.utc)
 
# 创建时区
china_tz = timezone(timedelta(hours=8))
beijing = datetime.now(china_tz)
 
# 使用pytz
ny_tz = pytz.timezone('America/New_York')
ny_time = datetime.now(ny_tz)
 
# 时区转换
utc_time = datetime.now(pytz.UTC)
beijing_time = utc_time.astimezone(pytz.timezone('Asia/Shanghai'))

1. 实现日期计算器 2. 实现倒计时功能 3. 处理时区转换 4. 解析各种日期格式

下一章:第二十五章:collections与itertools

该主题尚不存在

您访问的页面并不存在。如果允许,您可以使用创建该页面按钮来创建它。

  • python/chapter24.txt
  • 最后更改: 2026/04/09 14:34
  • 张叶安