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,似乎是文档格式。
我有一个嵌入式系统,我们希望在其中创建自定义夏令时。
我可以通过设置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,似乎是文档格式。