在 Linux 中使用 Zic 时区编译器在 Linux 中使用 Zic 时区编译器在 Linux 中使用 Zic 时区编译器在 Linux 中使用 Zic 时区编译器
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

在 Linux 中使用 Zic 时区编译器

您在设置正确的时区时遇到问题吗?您的时钟是否设置了错误的时间?在 Linux 中,时间取决于设置的时区,如果时区顺序不正确,那么你的时间将会不断出现问题。

好消息是,有一种方法可以使用 zic 时区编译器来解决这个问题。如果您想知道 zic 是什么,它是一个 Linux 程序,它从文件中读取包含时区的文本,并根据指定的命令和时区创建正确的时间转换。本指南将介绍如何使用 zic 设置时区以及可用的 zic 选项。

如何检查您的时区

在使用 zic 之前,您应该了解您的时区。幸运的是,您可以使用以下日期命令从命令行轻松检查:

$ date +" %Z %z"

在这里,我们使用 %Z 显示字母时区,使用 %z 显示数字时区。

在我们的示例中,我们看到时区是+0300 的 EAT。

或者,您可以运行以下命令:

$ cat /etc/timezone

它仍然会显示您的时区。

如何使用 Zic 时区编译器

zic 的主要工作是读取文件的输入并使用它来压缩您的时区并提供正确的时间转换。

基本语法是:

$ zic [option] [filename]

zic读取的文件是时区数据库(tzdate)。 tzdate 包含全球大多数时区当地时间历史的数据和代码。此外,数据会定期更新,您只需下载并使用zic编译即可。

单击此处下载 tzdata.tar.gz。下载后,将存档文件解压到您选择的文件夹中。在我们的例子中,我们将其解压到 Downloads/timezone。

打开解压的文件夹。它应该包含不同的文件,如下图所示:

您会注意到有不同时区的文件。这就是为什么您需要知道您的时区才能继续下一步。

您现在需要根据您的时区编译一个文件。例如,如果您的时区是 EAT,则您的文件名为 Africa。因此,要编译它,请将其名称附加到 zic,如以下命令所示:

$ zic africa

您需要root才能运行该命令。压缩后,您需要将文件复制到 zoneinfo/ 目录。

区域信息的路径再次取决于您的位置。当您打开 /usr/share/zoneinfo/ 时,您将看到可用区域的列表。

上面列出了不同的位置。导航到您所在时区的目录。您将看到时区下的各个区域。

仍在使用 zic 编译文件的目录中,将文件复制到包含您的时区的路径中。例如,要复制非洲时区的文件,命令将为:

$ cp africa <em>usr/</em>share/zoneinfo/Africa/

您可能需要重新启动系统,重新启动后,请像我们之前使用“+z”一样检查时区。现在应该显示准确的时间。

时区数据库包含不同位置的文件。每个文件都包含具有特定格式的规则行。规则行的格式为:

在保存字母/S处输入的规则名称

规则行中的不同字段代表不同的事物。

NAME:它表示规则所属的名称,在大多数情况下,它是时区的名称。

FROM:应用设定规则的第一年。

TO:规则适用的最后一年。

TYPE: 默认情况下,设置为 – 但如果是其他类型,zic 将执行年份设置的类型。

IN:规则适用的月份。

ON:一月中的某一天。在这里,您可以有不同的格式。例如,4 代表该月的 4 号。 Mon>=7 等格式表示第一个星期一或该月 7 日之后的一天。

AT:它代表一天中的确切时间。

保存:应用规则时。在此选项下指定要添加到当前设置的本地标准时间的时间。

LETTER/S:可以是时区的缩写。

定义区域时,格式如下:

区域名称 UTCOFF 规则/保存格式 [直到]

在上图中,STDOFF 表示要添加到本地标准时间的时间。 RULES 是要应用的规则的名称。 FORMAT 是时区缩写的格式。此外,位置规则更改的时间在直到下指定。

结论

使用 zic 时区编译器时,最好的资源是手册页。您可以使用大量选项来调整时间转换。在本指南中,我们介绍了如何从时区数据库文件编译时间。此外,我们还了解了如何定义规则。使用所讨论的详细信息,您可以组合可用选项并根据您的需要调整时间转换。

©2015-2025 艾丽卡 support@alaica.com