TZ变量,自定义文件

时间:2015-02-13 02:49:05

标签: linux timezone gnu

我有一个嵌入式系统,我们希望创建自定义夏令时。

我可以通过设置TZ环境变量来实现这一点,例如:export TZ=IST-2IDT,M3.4.4/26,M10.5.0

我们有几个守护进程运行(例如daemonA,daemonB等),如果其中一个导出TZ,那么其他守护进程就无法看到它。这是一个问题。可能的解决方法可能是使用文件而不是环境变量,以便“每个人”都可以使用。可以看到它。

GNU C Library手册说明如下:

:characters Each operating system interprets this format differently; in the GNU C Library, characters is the name of a file which describes the time zone.

当我export TZ=:/etc/TZ,然后echo IST-2IDT,M3.4.4/26,M10.5.0 > /etc/TZ时,它无法正常工作。当我发出date命令时,我看到了这一点:

Mon Aug 15 04:19:36 /etc/TZ 2016

有人能给我任何线索吗?

非常感谢!!

1 个答案:

答案 0 :(得分:3)

/ etc / TZ等文件取决于系统类型(称之为非标准,尽管此区域标准化较差)。配置timezone的常用方法是通过/ etc / localtime文件。通常这些是由timezone compiler从规则(文本)文件生成的。例如,它位于tzfile手册页中。

timezone-in-date是一个开始阅读的好地方 - 因为它提到了/ etc / TZ的一些可能性。如果/ etc / TZ适用于您的系统,则接受的答案指向此Oracle page,它似乎记录了格式。