1

由Internet Assigned Numbers Authority维护的最新zoneinfo 数据库包含两个新前缀,“posix”和“right”。例如,以前只添加了新数据库和.Asia/Kolkataposix/Asia/Kolkataright/Asia/Kolkata

这个数据库在它的第一个开发者之后也被称为Olson数据库,或者tz数据库。

这些新添加的前缀是什么意思,它们的实际作用是什么?是否可以从呈现给用户的时区选择列表中安全地过滤掉它们中的任何一个?

全球化 Web 应用程序(例如 WordPress)将这些区域信息名称用于用户偏好选项列表。它们在MySQL 的 timezone support setup中。

4

2 回答 2

2

right(或also leap,also zoneinfo-leaps)是关于使用包括闰秒在内的时间。Posix(也是 zoneinfo-posix,通常只是 `zoneinfo)是关于使用POSIX times,所以不考虑闰秒。

理论上你不应该选择,系统会为你选择它,考虑到时间是如何存储在系统中的。

但是不,对于用户,您不应该在 zoneinfo 中使用数据。

引用 Python 文档:

笔记

这些值并非旨在向最终用户公开;对于面向用户的元素,应用程序应该使用诸如 CLDR(Unicode 通用区域设置数据存储库)之类的东西来获得对用户更友好的字符串。另请参阅 ZoneInfo.key 上的警告说明。

注意:有些区域已经过时,而且文本是简单的 ASCII,因此无法正确表示城市名称,英文版本并不总是最好的。

于 2021-06-08T12:06:41.313 回答
1

right/前缀标记考虑闰秒的时区。

posix/前缀使用 POSIX time 标记时。这些时区实际上与无前缀的时区相同。

在向用户提供时区选择时过滤掉前缀名称可能很好(例如,WordPress 的方式)。如果你是天文学家,你的 parsecage 可能会有所不同。

于 2021-06-08T13:49:32.357 回答