如何读取时区信息


8

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

我检查了我的Ubuntu系统

/usr/share/zoneinfo/Asia$ file Oral

提供以下输出

口头:时区数据,版本2,14个格林尼治标准时间标记,14个标准时间标记,无st秒,51个转换时间,14个缩写字符

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

  1. 我基本上如何阅读上述类型的文件?

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

Answers:


10

好吧,这取决于您要阅读的内容?

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

1)我基本上如何阅读上述类型的文件

zdump -v /etc/localtime 将向您显示文件中的内容。

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

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

默认情况下未设置。而是/etc/localtime是相关zoneinfo文件的副本,并且/etc/timezone是该区域的名称。

您可以使用sudo tzconfig或通过GUI 进行更改。

例如,~/.env如果您想要自己的其他个人默认设置,则可以设置它。


在中创建~/.envwith UTC对本地时区没有影响。
jfs 2014年

如今是tzselect
jiggunjer

tzselect不能替代tzconfig它:它只是选择一个时区并将其打印到标准输出,而无需更改任何配置。实际的现代替代产品是dpkg-reconfigure tzdata
poolie
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.