Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux TZ变量,自定义文件_Linux_Timezone_Gnu - Fatal编程技术网

Linux TZ变量,自定义文件

Linux TZ变量,自定义文件,linux,timezone,gnu,Linux,Timezone,Gnu,我有一个嵌入式系统,我们希望在其中创建自定义夏令时 我可以通过设置TZ环境变量来实现这一点,例如:export TZ=IST-2IDT,M3.4.4/26,M10.5.0 我们有几个守护进程正在运行(例如daemonA、daemonB等),如果其中一个导出TZ,那么其他守护进程将无法看到它。所以这是一个问题。一种可能的解决方法是使用文件而不是环境变量,这样“每个人”都可以看到它 GNU C库手册说明如下: :字符 每个操作系统对此格式的解释不同;在GNU C库中,字符是描述时区的文件名。 当Ie

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

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

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

GNU C库手册说明如下:

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

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

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

有人能给我线索吗


非常感谢

像/etc/TZ这样的文件取决于系统的类型(称它们为非标准文件,尽管在这方面标准化很差)。通常通过/etc/localtime文件配置时区。通常情况下,这些由规则(文本)文件生成。例如,它在手册页中


这是一个开始进一步阅读的好地方,因为它提到了一些关于/etc/TZ的可能性。如果/etc/TZ适用于您的系统,那么公认的答案就是指向这一点的,它似乎记录了格式。

像/etc/TZ这样的文件取决于系统的类型(称它们为非标准文件,尽管这方面的标准化很差)。通常通过/etc/localtime文件配置时区。通常情况下,这些由规则(文本)文件生成。例如,它在手册页中


这是一个开始进一步阅读的好地方,因为它提到了一些关于/etc/TZ的可能性。如果/etc/TZ适用于您的系统,那么公认的答案就是指向这一点的,它似乎记录了格式。

像/etc/TZ这样的文件取决于系统的类型(称它们为非标准文件,尽管这方面的标准化很差)。通常通过/etc/localtime文件配置时区。通常情况下,这些由规则(文本)文件生成。例如,它在手册页中


这是一个开始进一步阅读的好地方,因为它提到了一些关于/etc/TZ的可能性。如果/etc/TZ适用于您的系统,那么公认的答案就是指向这一点的,它似乎记录了格式。

像/etc/TZ这样的文件取决于系统的类型(称它们为非标准文件,尽管这方面的标准化很差)。通常通过/etc/localtime文件配置时区。通常情况下,这些由规则(文本)文件生成。例如,它在手册页中


这是一个开始进一步阅读的好地方,因为它提到了一些关于/etc/TZ的可能性。如果/etc/TZ适用于您的系统,则公认的答案指向此,它似乎记录了格式。

Hi Thomas。我在用glibc。我做了一些研究,glibc/eglibc似乎没有使用/etc/TZ,而是像你说的那样使用/etc/localtime。/etc/localtime方式可以工作,但不适合我的要求,因为在使用嵌入式主板时,我需要能够在运行时创建自定义时区。TZ环境变量实现了这一点,但其他守护进程无法看到它(如原始帖子中所述)。无论您是设置环境变量还是更新/etc/localtime,您都必须重新启动其他守护进程以使它们使用新的时区设置。当然,您可能已经看到了这一点:Hi Thomas。我在用glibc。我做了一些研究,glibc/eglibc似乎没有使用/etc/TZ,而是像你说的那样使用/etc/localtime。/etc/localtime方式可以工作,但不适合我的要求,因为在使用嵌入式主板时,我需要能够在运行时创建自定义时区。TZ环境变量实现了这一点,但其他守护进程无法看到它(如原始帖子中所述)。无论您是设置环境变量还是更新/etc/localtime,您都必须重新启动其他守护进程以使它们使用新的时区设置。当然,您可能已经看到了这一点:Hi Thomas。我在用glibc。我做了一些研究,glibc/eglibc似乎没有使用/etc/TZ,而是像你说的那样使用/etc/localtime。/etc/localtime方式可以工作,但不适合我的要求,因为在使用嵌入式主板时,我需要能够在运行时创建自定义时区。TZ环境变量实现了这一点,但其他守护进程无法看到它(如原始帖子中所述)。无论您是设置环境变量还是更新/etc/localtime,您都必须重新启动其他守护进程以使它们使用新的时区设置。当然,您可能已经看到了这一点:Hi Thomas。我在用glibc。我做了一些研究,glibc/eglibc似乎没有使用/etc/TZ,而是像你说的那样使用/etc/localtime。/etc/localtime方式可以工作,但不适合我的要求,因为在使用嵌入式主板时,我需要能够在运行时创建自定义时区。TZ环境变量实现了这一点,但其他守护程序无法看到它(如原始帖子中所述)。无论您是设置环境变量还是更新/etc/localtime,都必须重新启动其他守护程序,使其使用新的时区设置。当然,您可能已经看到了这一点: