pytz库
python中pytz库用法详解_IT之一小佬的博客-CSDN博客
pytz库是python自带的库,不需要pip install 安装的。
示例代码: 【本地化时间和日期算术】
import pytz
from pytz import timezone
from datetime import datetime, timedelta
utc = pytz.utc
print(utc)
print(type(utc))
print(utc.zone)
print(type(utc.zone))
print("*" * 100)
beijing = timezone('Asia/Shanghai')
print(beijing)
print(type(beijing))
print(beijing.zone)
print(type(beijing.zone))
print("*" * 100)
tokyo = timezone('Asia/Tokyo')
print(tokyo)
print(type(tokyo))
print(tokyo.zone)
print(type(tokyo.zone))
运行结果:
构建本地化时间的方法:
第一种是使用pytz库提供的 localize() 方法。这主要用于本地化一个没有时区信息的日期时间。
示例代码2:
import pytz
from pytz import timezone
from datetime import datetime, timedelta
utc = pytz.utc
print(utc.zone)
print("*" * 100)
beijing = timezone('Asia/Shanghai')
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
loc_dt = beijing.localize((datetime(2022, 8, 13, 12, 0, 0)))
print(loc_dt)
print(loc_dt.strftime(fmt))
运行结果:
第二种方法是使用标准 astimezone() 方法转换现有的本地化时间。
示例代码3:
import pytz
from pytz import timezone
from datetime import datetime, timedelta
utc = pytz.utc
print(utc.zone)
print("*" * 100)
beijing = timezone('Asia/Shanghai')
fmt = '%Y-%m-%d %H:%M:%S %Z%z'
loc_dt = beijing.localize((datetime(2022, 8, 13, 12, 0, 0)))
print(loc_dt)
print(loc_dt.strftime(fmt))
print("*" * 100)
tokyo = timezone('Asia/Tokyo')
print(tokyo.zone)
jp_dt = loc_dt.astimezone(tokyo)
print(jp_dt)
print(jp_dt.strftime(fmt))
运行结果:
pytz库还可以计算两地的时间差:如计算北京和东京的时间差。
示例代码4:
from pytz import timezone
from datetime import datetime
beijing = timezone('Asia/Shanghai')
print(beijing.zone)
tokyo = timezone('Asia/Tokyo')
print(tokyo.zone)
timestamp = datetime.utcnow()
dt_cn = beijing.localize(timestamp)
dt_jp = tokyo.localize(timestamp)
print("Beijing and tokyo timestamp:", dt_cn - dt_jp)
运行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!