我是python的新手,我需要将UTC转换为JST,我做到了,但我也注意到将UTC转换为JST的代码花费的时间比预期的要长。
等待5-7秒。只是因为时区转换的性能不好,下面是我使用的代码:
self._to_timestamp = datetime.now(timezone(UTC)).astimezone(timezone(JST)).replace(microsecond=0, second=0, minute=0)我相信我在转换过程中犯了一个错误,如果有人能发现这个问题,我将不胜感激。
发布于 2020-11-24 18:50:10
如何获取时区设置?我建议
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在我的机器上运行得相对较快;
%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
https://stackoverflow.com/questions/64978826
复制相似问题