。
在Python中,可通过datetime模块快速获取当前日期和时间对象,使用time模块处理时间戳数据,结合strftime实现灵活日期格式化,借助第三方库简化复杂操作,支持日期计算与时区转换等功能。以下是具体实现方法与应用场景:
-
基础日期获取
- 获取当前日期:plaintext复制返回
datetime.date.today()
plaintext复制格式的日期对象YYYY-MM-DD
python复制from datetime import date today = date.today() # 输出: 2025-05-06
- 获取完整时间戳:plaintext复制包含年月日时分秒微秒
datetime.datetime.now()
python复制from datetime import datetime now = datetime.now() # 输出: 2025-05-06 02:39:08.123456
- 获取当前日期:
-
时间戳与格式化
- 生成Unix时间戳:
python复制import time timestamp = time.time() # 输出: 1746549548.123
- 自定义日期格式:
python复制formatted = now.strftime("%Y 年%m月%d日 %H:%M") # 输出: 2025年05月06日 02:39
- 常见格式符号:
- plaintext复制四位数年份 /
%Y
plaintext复制补零月份 /%m
plaintext复制补零日期%d
- plaintext复制24小时制 /
%H
plaintext复制12小时制 /%I
plaintext复制AM/PM标识%p
-
日期计算与转换
- 日期增减:
python复制from datetime import timedelta tomorrow = today + timedelta(days=1) last_week = now - timedelta(weeks=1)
- 时区转换(需安装pytz):
python复制import pytz utc_time = datetime.now(pytz.utc) shanghai_time = utc_time.astimezone(pytz.timezone('Asia/Shanghai'))
-
第三方库增强功能
- Arrow库简化操作:
python复制import arrow human_time = arrow.get('2025-05-06').humanize() # 输出: in 11 months
- Pendulum库处理时区:
python复制import pendulum dt = pendulum.now('Europe/Paris')
建议根据实际需求选择工具:简单日期处理优先使用标准库,跨时区操作推荐pytz,需要人性化显示可搭配Arrow。注意服务器时区设置可能影响本地时间获取结果,涉及国际业务务必显式指定时区参数。