如何读取时区信息

如何读取时区信息

我看了一些系统编程的书。它提到使用一个TZ带有冒号分隔列表的变量,该列表用于/usr/share/zoneinfo。这本书可能有点过时了。

我检查了我的 Ubuntu 系统

/usr/share/zoneinfo/Asia$ file Oral

给出以下输出

口述:时区数据,版本 2,14 个 gmt 时间标志,14 个 std 时间标志,无闰秒,51 个过渡时间,14 个缩写字符

我尝试用 vi 打开它,但无法读取文本。我也尝试读取,/etc/localtime但这里也无法读取。

  1. 我怎样才能读取上述类型的文件?

  2. Ubuntu 10.04 中 TZ 环境变量在哪里定义?

答案1

嗯,这取决于你想读它做什么?

几乎所有程序都依赖于$TZ在环境中设置或/etc/localtime链接到时区文件。然后 C 库将自动安排例如localtime()返回正确的时间。

1)我如何才能读取上述类型的文件

zdump -v /etc/localtime将显示文件里面的内容。

这些是编译文件,不适合人类阅读。 apt-get source tzdata将为您提供它们的来源。

2)Ubuntu 10.04 中 TZ 环境变量定义在哪里

默认情况下不设置。相反,它/etc/localtime是相关区域信息文件的副本,并且/etc/timezone是该区域的名称。

您可以使用sudo tzconfig或通过 GUI 来更改它们。

~/.env例如,如果您想要为自己设置不同的个人默认设置,您可以进行设置。

相关内容