当前位置: 首页 > 面试题库 >

如何在Python中获得人类可读的时区名称?

臧兴学
2023-03-14
问题内容

在我正在研究的Python项目中,我希望能够以格式 America / New_York
的“人类可读”时区名称(与系统本地时区相对应)显示给用户。我所看到的访问时区信息的每一段代码仅返回数字偏移量(-0400)或字母代码(EDT)或有时返回两者。是否有一些Python库可以访问此信息,如果没有,则可以将偏移量/字母代码转换为人类可读的名称?

如果对应于特定时区的名称不止一个,那么可以列出可能的结果,也可以选择其中的任何一个,如果没有对应于当前时区的名称,我将采用例外None[]或其他。

需要澄清的是:我最初记下这个问题时并不记得确切的想法,但我 认为
我真正想要的是将时区转换为易于理解的名称的方法。我不认为这个问题的重点在于如何专门获取系统本地时区,但是对于我所想到的特定用例,恰好是本地时区是我想要的名称。我没有编辑有关本地时区的内容,因为有针对这两个方面的答案。


问题答案:

最初编写此问题时可能不会出现这种情况,但这是获取时区官方名称的摘要:

>>> eastern = timezone('US/Eastern')
>>> eastern.zone
'US/Eastern'

此外,它可以与非原始日期时间对象(也就是使用pytz.<timezone>.localize(<datetime_object>)datetime_object.astimezone(pytz.<timezone>)如下设置实际时区的日期时间)一起使用:

>>> import datetime, pytz
>>> todaynow = datetime.datetime.now(tz=pytz.timezone('US/Hawaii'))
>>> todaynow.tzinfo # turned into a string, it can be split/parsed
<DstTzInfo 'US/Hawaii' HST-1 day, 14:00:00 STD>
>>> todaynow.strftime("%Z")
'HST'
>>> todaynow.tzinfo.zone
'US/Hawaii'

当然,这是为了吸引那些登陆这里的搜索引擎用户。…在pytz模块站点上了解更多信息。



 类似资料:
  • 问题内容: 我想编写一种将CamelCase转换为人类可读名称的方法。 这是测试用例: 问题答案: 这适用于你的测试用例: 这是一个测试工具: 它使用零长度匹配正则表达式以及后向和前向查找在哪里插入空格。基本上有3种模式,我习惯String.format将它们放在一起以使其更具可读性。 这三种模式是: UC behind me, UC followed by LC in front of me n

  • 问题内容: 在Java中,我们可以使用 如何在PHP中做到这一点?我已经知道了,但是它仅适用于对象。目前,我在Active Record中工作。我需要像这样的声明。 问题答案: 从PHP 5.5开始, 您可以通过 ClassName :: class 使用类名解析。 查看PHP5.5的新功能。 如果要在类方法中使用此功能,请使用 static :: class : 对于旧版本的PHP ,可以使用g

  • 问题内容: 我正在使用Zend_Framework编写一个应用程序(因此解决方案可以依靠它)。 如何获得客户的时区? 例如,如果有人在俄罗斯莫斯科,我想得到3 * 60 * 60(因为有UTC + 3)。如果他在英国,我要零。如果他使用UTC-3:30(加拿大?),我要-3.5 * 60 * 60。 (这不是格式的问题-我可以在俄罗斯圣彼得堡获得’Europe / Moscow’或’UTC-3’,

  • 问题内容: 您好在我的Java类Toto中,我有3个静态方法,我想知道当我处于这些方法之一时,如何在try catch bloc中获取和显示package.class.methode的名称?我在methodeA中尝试过: 但它不起作用,我怎么也可以尝试显示它?谢谢 问题答案: -将打印整个异常stracktrace-即所有方法+行号。

  • 问题内容: 如何获得Python类的父类? 问题答案: 使用以下属性: 从文档: 类对象的基类的元组。 例: 另一个例子:

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow的主题。 19天前关闭。 改善这个问题 Web上有各种片段,这些片段将为您提供从字节大小返回人类可读大小的功能: 但是是否有提供此功能的Python库? 问题答案: 通过简单的实现解决了上述“任务太小,需要库”的问题: 支持: 所有当前已知的二进制前缀 负数和正数 大