![如何读取时区信息](https://linux22.com/image/808394/%E5%A6%82%E4%BD%95%E8%AF%BB%E5%8F%96%E6%97%B6%E5%8C%BA%E4%BF%A1%E6%81%AF.png)
我看了一些系统编程的书。它提到使用一个TZ
带有冒号分隔列表的变量,该列表用于/usr/share/zoneinfo
。这本书可能有点过时了。
我检查了我的 Ubuntu 系统
/usr/share/zoneinfo/Asia$ file Oral
给出以下输出
口述:时区数据,版本 2,14 个 gmt 时间标志,14 个 std 时间标志,无闰秒,51 个过渡时间,14 个缩写字符
我尝试用 vi 打开它,但无法读取文本。我也尝试读取,/etc/localtime
但这里也无法读取。
我怎样才能读取上述类型的文件?
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
例如,如果您想要为自己设置不同的个人默认设置,您可以进行设置。