首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Python 3.8中,JST时间转换花费了令人难以置信的长时间

在Python 3.8中,JST时间转换花费了令人难以置信的长时间
EN

Stack Overflow用户
提问于 2020-11-24 09:07:32
回答 1查看 167关注 0票数 0

我是python的新手,我需要将UTC转换为JST,我做到了,但我也注意到将UTC转换为JST的代码花费的时间比预期的要长。

等待5-7秒。只是因为时区转换的性能不好,下面是我使用的代码:

代码语言:javascript
运行
复制
self._to_timestamp = datetime.now(timezone(UTC)).astimezone(timezone(JST)).replace(microsecond=0, second=0, minute=0)

我相信我在转换过程中犯了一个错误,如果有人能发现这个问题,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2020-11-24 18:50:10

如何获取时区设置?我建议

代码语言:javascript
运行
复制
from datetime import datetime, timezone
from dateutil.tz import gettz
from backports.zoneinfo import ZoneInfo # Python 3.9: just zoneinfo

UTC = timezone.utc
JST = gettz('Asia/Tokyo')
JST_z = ZoneInfo('Asia/Tokyo')

dt = datetime.now(UTC).astimezone(JST).replace(microsecond=0, second=0, minute=0)
# datetime.datetime(2020, 11, 24, 19, 0, tzinfo=tzfile('Japan'))

...that在我的机器上运行得相对较快;

代码语言:javascript
运行
复制
%timeit datetime.now(UTC).astimezone(JST).replace(microsecond=0, second=0, minute=0)
9.66 µs ± 415 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

%timeit datetime.now(UTC).astimezone(JST_z).replace(microsecond=0, second=0, minute=0)
2.18 µs ± 143 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)

Windows10上的Python 3.8.5 x64

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64978826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档