如何在 Python3 中本地化日期时间 [重复]
Posted
技术标签:
【中文标题】如何在 Python3 中本地化日期时间 [重复]【英文标题】:How to localize datetime in Python3 [duplicate] 【发布时间】:2020-11-15 03:51:35 【问题描述】:我在 Python3 中编写了以下代码。
import datetime as dt
a = dt.datetime(2020,7,24,9,0,0)
print(a)
这显示在输出下方。
2020-07-24 09:00:00
但它没有以本地化格式显示。预期输出应如下所述,因为我的时区是“亚洲/加尔各答”。
2020-07-24 09:00:00+05:30
如何做到这一点?
【问题讨论】:
这不是“本地化”,它只是添加了时区信息。本地化将类似于 2020 年 7 月 24 日(假设您的本地会议与美国会议一样疯狂)。 a = dt.datetime(2020,7,24,9,0,0, tzinfo=dt.timezone(dt.timedelta(hours=5, minutes=30))) 【参考方案1】:import datetime as dt
a = dt.datetime(2020,7,24,9,0,0)
local_time = "+5:30"
print(str(a)+local_time)
输出
2020-07-24 09:00:00+5:30
【讨论】:
【参考方案2】:您可以使用pytz
模块来完成它,进一步本地化它并显示时区,使用模块tzlocal
pip install pytz tzlocal
代码:
from datetime import datetime
from pytz import timezone
from tzlocal import get_localzone
format = "%Y-%m-%d %H:%M:%S %Z%z"
# Current time in UTC
now_utc = datetime.now(timezone('UTC'))
print(now_utc.strftime(format))
# Convert to local time zone
now_local = now_utc.astimezone(get_localzone()) # ie 'Asia/Kolkata'
print(now_local.strftime(format))
输出:
2020-07-25 07:05:50 UTC+0000
2020-07-25 12:35:50 IST+0530
还有详细的答案here。
【讨论】:
我在下面写了代码 a = dt.datetime(2020,7,24,9,0,0, tzinfo=timezone('Asia/Kolkata')) print(a) 输出:2020 -07-24 09:00:00+05:53以上是关于如何在 Python3 中本地化日期时间 [重复]的主要内容,如果未能解决你的问题,请参考以下文章