Python时区全名

Python时区全名,python,timezone,pytz,Python,Timezone,Pytz,以美洲/芝加哥、美洲/洛杉矶、亚洲/加尔各答或tz缩写等格式提供时区列表 我要时区的全名 中央标准时间 太平洋标准时间 印度标准时间 这在Python中是否可行?请参阅: 但是对于缩写的抄本。。。你又是一个人了 HTH包含许多本地化字符串,包括许多不同语言中人类可读的时区名称 快速搜索CLDR的Python实现。示例如下所示: >>> british = get_timezone('Europe/London') >>> format_datetime(

以美洲/芝加哥、美洲/洛杉矶、亚洲/加尔各答或tz缩写等格式提供时区列表

我要时区的全名

  • 中央标准时间
  • 太平洋标准时间
  • 印度标准时间
这在Python中是否可行?

请参阅:

但是对于缩写的抄本。。。你又是一个人了

HTH

包含许多本地化字符串,包括许多不同语言中人类可读的时区名称

快速搜索CLDR的Python实现。示例如下所示:

>>> british = get_timezone('Europe/London')
>>> format_datetime(dt, 'H:mm zzzz', tzinfo=british, locale='en_US')
u'16:30 British Summer Time'
在这里我们可以看到,在
dt
变量指定的日期和时间,以及
Europe/London
的IANA时区(由pytz使用),英文显示名称为“British Summer time”

还有一个示例说明如何仅获取通用时区名称,而不考虑特定日期:

>>> from babel import Locale
>>> from babel.dates import get_timezone_name, get_timezone

>>> tz = get_timezone('Europe/Berlin')
>>> get_timezone_name(tz, locale=Locale.parse('pt_PT'))
u'Hor\xe1rio Alemanha'

也就是说,
Europe/Berlin
时区的葡萄牙语名称为“Horário Alemanha”。

pytz基于。您列出的“全名”时区违反了tz数据库命名约定,似乎没有组织它们的标准。看起来你可能是一个人了。@AndrewJohnson-它们在CLDR中是由Unicode组织的。详见我的答案。谢谢马特,这肯定会有帮助。但是也可以从这个名字中得到时区吗?我正在将一个PHP应用程序移植到python,python已将tz存储在fullname中。我不能把它们移走,因为这是部分端口。我不知道你的意思。PHP还使用IANA时区。如果你的意思是你想把“东部标准时间”翻译成“美国/纽约”,那么就不要了——因为澳大利亚也有“东部标准时间”。这是一个单向转换。是的,这就是我想要的。编写PHP代码的人将“东部标准时间”存储在数据库中。只要我们还停留在PHP代码的某些部分,我想我现在就必须编写自己的包装器。谢谢。
get\u timezone\u name()
在我的机器上返回不同的名称:
u'Hora da Europa Central'
(中欧时间)
babel.\uuuuuu version\uuuuu==1.3
@J.F.Sebastian-我假设如果您未通过区域设置,则使用您机器的当前区域设置。这是意料之中的。