时区在python中不可用,但系统时区是正确的

2024-06-26 02:08:54 发布

您现在位置:Python中文网/ 问答频道 /正文

documentation中指定:

%Z -> Time zone name (no characters if no time zone exists).

根据日期,我的系统已正确设置时区:

^{pr2}$

但是这个测试:

^{3}$

产生:

gonvaled@pegasus ~ » python test_timezone.py 
2013-09-28 09:19:10

没有时区信息。为什么?如何强制python输出时区信息?在

我也尝试用tzselect重新配置时区,但没有帮助。在


Tags: nonametest信息zoneiftime系统
1条回答
网友
1楼 · 发布于 2024-06-26 02:08:54

标准Pythondatetime.datetime()对象没有附加时区对象。系统时间按原样计算。在

您需要以^{} package的形式安装Python时区支持;时区定义更改太频繁,无法与Python本身绑定。在

pytz不会告诉您计算机配置的时区。您可以使用^{} module;它有一个^{} function返回当前使用的时区。这比Python从有限的C API中得到的要可靠得多:

>>> import datetime
>>> from dateutil.tz import gettz
>>> datetime.datetime.now(gettz())
datetime.datetime(2013, 9, 28, 8, 34, 14, 680998, tzinfo=tzfile('/etc/localtime'))
>>> datetime.datetime.now(gettz()).strftime('%Y-%m-%d %H:%M:%S%Z')
'2013-09-28 08:36:01BST'

相关问题 更多 >