linux - TZ 变量,自定义文件

标签 linux timezone gnu

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

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

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

GNU C 库手册说明如下:

:字符 每个操作系统对这种格式的解释都不同;在 GNU C 库中,字符是描述时区的文件名。

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

8 月 15 日星期一 04:19:36/etc/TZ 2016

有人能给我任何线索吗?

非常感谢!!

最佳答案

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

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

关于linux - TZ 变量,自定义文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28491719/

相关文章:

java - JodaTime:如何从 LocalTime 获取格式为 "HH:mm Z"的字符串表示形式

java - 以毫秒从 JodaTime 获取 ISO8601

ruby-on-rails - 需要 Rails ActiveRecord 中时区的帮助

php - 创建简单表时出现 mySQL 语法错误

linux - 强制 linux 排序使用字典顺序

c - 为什么 getopt 库中没有 <string.h>?

Makefile(自动依赖生成)

linux - 由于 polkitd,Mongodb 无法启动

linux - 将内核写入只读段

linux - ssh inside ssh 具有多个命令