有没有办法从国家或时区获取区域设置?

c0d*_*0da 3 python timezone locale

我用Python编写程序,我需要根据用户的语言环境输出日期:

  1. 获取按用户输入指定的国家/地区中的时区列表(使用pytz执行此操作)
  2. 获取用户的区域设置(我无法弄清楚如何操作)

有没有办法从县/时区获取区域设置或需要遵循一些其他方法?

或者我是否需要从用户自己获取区域设置?

编辑

该计划将成为一个网络应用程序.用户可以向我提供他的国家.但是,他是否必须明确地向我提供该地区,或者我可以从他的时区/国家获得它吗?

Ane*_*pic 8

我认为将country + timezone转换为单个"正确"的语言环境是不可能的......在具有多种语言的国家/地区,语言与时区之间不存在1:1的关系.

我能看到的最接近的是使用巴别塔:

from babel import Locale
Locale.parse('und_BR')  # 'und' here means unknown
>>> Locale('pt', territory='BR')
Run Code Online (Sandbox Code Playgroud)

这为您提供了该国家/地区的"最有可能"(或默认)区域设置.要正确处理语言,您需要询问用户他们的首选语言.