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)
运行结果:



posted @   Python喵  阅读(195)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示