TZ 变量,自定义文件

TZ Variable, custom file

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

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

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

GNU C 库手册说明如下:

: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

有人能给我任何线索吗?

非常感谢!!

/etc/TZ 等文件取决于系统的类型(因此称它们为 非标准 ,尽管这方面的标准化很差)。通常的时区配置方式是通过 /etc/localtime 文件。例如,通常这些是由 timezone compiler. It is in the tzfile 手册页从规则(文本)文件生成的。

timezone-in-date is a good place to start reading further - since it mentions a few possibilities regarding /etc/TZ. If /etc/TZ is what works for your system, the accepted answer there points to this Oracle page,似乎是文档格式。