Python 日期时间处理库:Pendulum
·
在 Python 里,Pendulum 是一个比内置 datetime 更强大、易用的 日期时间处理库,功能包括:
- 支持 时区管理(timezone-aware)
- 易读的日期运算(加减天、月、年等)
- 自然语言解析和格式化
- 更好的 链式操作
1️⃣ 安装
pip install pendulum
2️⃣ 基本使用
import pendulum
# 当前时间
now = pendulum.now()
print(now) # 2025-08-19T11:15:00+08:00
# 指定时区
tokyo_time = pendulum.now('Asia/Tokyo')
print(tokyo_time)
# 创建指定时间
dt = pendulum.datetime(2025, 8, 19, 12, 0, 0)
print(dt)
# 日期运算
tomorrow = now.add(days=1)
yesterday = now.subtract(days=1)
print("Tomorrow:", tomorrow)
print("Yesterday:", yesterday)
# 格式化输出
print(now.to_datetime_string()) # 2025-08-19 11:15:00
print(now.to_iso8601_string()) # 2025-08-19T11:15:00+08:00
3️⃣ 时间差与比较
start = pendulum.datetime(2025, 8, 19, 10)
end = pendulum.datetime(2025, 8, 19, 15)
diff = end - start
print(diff.in_hours()) # 5
print(diff.in_minutes()) # 300
print(diff.in_days()) # 0
# 比较
print(end > start) # True
4️⃣ 自然语言处理
# 解析字符串时间
dt = pendulum.parse("2025-08-19 14:30:00")
print(dt)
# 人性化显示
print(dt.diff_for_humans()) # "in 3 hours" 或 "3 hours ago"
5️⃣ 时区转换
dt = pendulum.now('UTC')
print("UTC:", dt)
# 转换为上海时间
shanghai = dt.in_timezone('Asia/Shanghai')
print("Shanghai:", shanghai)
6️⃣ 周、季度操作
dt = pendulum.now()
# 获取周、季度信息
print("周几:", dt.day_of_week) # 0 = 周一
print("季度:", dt.quarter) # 1~4
print("本周开始:", dt.start_of('week'))
print("本周结束:", dt.end_of('week'))
print("本月开始:", dt.start_of('month'))
print("本月结束:", dt.end_of('month'))
Pendulum 的优势是 API 链式操作清晰、时区处理安全,适合做日志时间处理、定时任务和数据分析等。
更多推荐
所有评论(0)