当前位置: 首页 > news >正文

Linux 时区文件编译器 zic【man 8 zic】

1. NAME(名)

zic - 时区编译器

2. SYNOPSIS(概要)

zic [-v] [-d directory] [-l localtime] [-p posixrules] [-L leapsecondfilename] [-s] [-y command] [filename ...]

3. DESCRIPTION(函数描述)

zic 从filename指定的时区源文件中读取文本,并根据读入的文本创建相应的时区文件。如果 filename 为 -,则读取标准输入。下面给出各选项的解释,

  • -v
    如果时区源文件中的年份不在 time(2) 值所代表的年份范围内,就发出警告。
  • -d directory
    在指定目录中而非标准目录(下文说明)中创建时区文件。
  • -l timezone
    使用给定的时区作为本地时间。zic 将表现为时区源文件中包含形如Link timezone localtime的 Link 行。
  • -p timezone
    在处理POSIX格式时区环境变量时,请使用给定时区的规则。zic 将表现为时区源文件中包含形如Link timezone posixrules“的 Link 行。
  • -L leapsecondfilename
    从指定文件中读取闰秒信息。如果不使用此选项,则输出文件中不会显示闰秒信息。
  • -s
    将存储在输出文件中的时间值限制为相同的值,无论这些值是带符号的还是无符号的。您可以使用此选项生成SVVS兼容的文件。
  • -y comand
    使用给定的 command 而非 yearistype 检查年份类型(见下文)。

时区源文件由Rule行、Zone行、Link行组成,各行又由字段组成,字段之间用任意数量的空白字符分隔。忽略输入行上的前导空格和尾随空格。输入行中一个未加引号的井号(#)表示注释,从井号出现直至该行末尾。如果要使用将空白字符和井号字符,则可以用双引号括起来。任何空白行都将被忽略。

Rule 行

#Rule  NAME  FROM   TO     TYPE   IN    ON        AT    SAVE   LETTER/S
Rule   US    1967   1973   -      Apr   lastSun   2:00  1:00    D
  • NAME
    给出此规则所属的规则集的(任意)名称。
  • FROM
    给出应用本规则的起始年。公历(the Gregorian calendar)的话可以使用任意整数年。单词 minimum(或缩写)表示以整数表示的最小年份。单词 maximum(或缩写)表示以整数表示的最大年份。Rules can describe times that are not representable as time values, with the unrepresentable times ignored; this allows rules to be portable among hosts with differing time value types.
  • TO
    给出应用本规则的最后一年。除了可以使用最小值和最大值,还可以使用单词 only(或缩写),表示重复 FROM 字段的值。
  • TYPE
    给出规则适用的年份类型。如果 TYPE 为 -,则该规则适用于 FROM 到 TO 之间的所有年份(包括首尾年份)。如果 TYPE 是其他值,则 zic 执行yearistype year type命令以检查年份的类型:退出状态为零表示年份为给定类型;退出状态为1表示年份不是给定类型。
  • IN
    本规则开始月份,可以用缩写
  • ON
    本规则开始日期,可以有如下几种形式:
    5    本月5号
    lastSun  本月最后一个星期日
    lastMon  本月最后一个星期一
    Sun>=8  8号之后(包含8号)的第一个星期日(本月第二个星期日)
    Sun<=25 25号之前(包含25号)的最后一个星期日
    一周中的日期名称可以缩写或拼写完整。请注意,ON字段中不得有空格。
  • AT
    本规则开始时间,可以有如下几种形式:
    2    时
    2:00   时分
    15:00    24小时制的时
    1:28:14   时分秒
    -      相当于0
    其中0时是一天开始时的午夜,24时是一日结束时的午夜。如果给定时间是当地“挂钟”时间,则这些形式中的任何一种都可以后跟字母w,如果给定时间为当地“标准”时间,可后跟字母s,如果给定的时间为世界时,则可后跟字母u(或g或z);在没有指定下标的情况下,默认为墙上时间。
  • SAVE
    给出规则生效时要添加到本地标准时间上的偏移量。该字段的格式与 AT 字段相同(当然,不使用w和s后缀)。
  • LETTER/S
    给出该规则生效时要使用的时区缩写的“可变部分”(例如,“EST”和“EDT”中的“S”和“D”)。如果此字段为 -,则变量部分为null。

Zone 行

#Zone  NAME                 UTCOFF  RULES/SAVE    FORMAT  [UNTIL]
Zone   Australia/Adelaide   9:30    Aus           CST     1971 Oct 31 2:00
  • NAME
    时区文件名。
  • UTCOFF
    时区偏移。此字段的格式与 Rule 行的 AT 和 SAVE 字段的格式相同;如果是从UTC中减去时间,则该字段以减号开头。
  • RULES/SAVE
    在时区中应用的 rule 名称或添加到本地标准时间上的时间量。如果此字段为 -,则表示使用本地标准时间。
  • FORMAT
    时区缩写的格式。字符对儿%s用于显示时区缩写的“可变部分”。或者,呈现为用斜线(/)分隔的标准时区缩写和夏令时缩写。
  • UNTIL
    一个位置的UTC偏移量或规则更改的时间。它被指定为某年、某月、某天和当天中的某个时间。如果指定了此项,则从给定的UTC偏移量和规则更改生成时区信息,直到指定时间为止。月份、日期、一天中的某时间与 Rule 的 IN、ON 和 AT 列具有相同的格式;可以省略尾随列,并默认为缺失列的最早可能值。
    下一行必须是“延续”行;这与 Zone 行的形式相同,只是省略了字符串“Zone”和时区名,因为续行将在前一行使用的文件中的前一行中指定为 UNTIL 字段的时间开始放置信息。连续行可能包含一个 UNTIL 字段,就像 Zone 行一样,表示下一行是下一个延续行。

Link 行

#Link   LINK-FORM          LINK-TO
Link    Europe/Istanbul    Asiz/Istanbul

LINK-FROM字段应显示为某些 Zone 行中的 NAME 字段;LINK-TO字段被用作该时区的替代名称。

除了“延续”行之外,行可以以任何顺序出现在时区文件中。

Leap 行

#Leap  YEAR  MONTH  DAY  HH:MM:SS  COSS  R/S
Leap   1974  Dec    31   23:59:60  +     S

YEAR、MONTH、DAY和HH:MM:SS字段显示闰秒发生的时间。如果添加了一秒钟,CORR字段应为“+”,如果跳过了一秒钟则应为“-”。如果其他字段给出的闰秒时间应解释为UTC,则R/S字段应为 “Stationary” 或其缩写;如果其他字段提供的闰秒应解释为本地挂钟时间,则R/S字段应为 “Rolling” 或其缩写。

4. FILES(文件)

/usr/local/etc/zoneinfo

用于创建时区文件的标准目录。

5. NOTES(注意事项)

对于具有两种以上本地时间类型的地区,您可能需要在最早转换时间规则的 AT 字段中使用本地标准时间,以确保编译文件中记录的最早过渡时间是正确的。

6. SEE ALSO(另请参阅)

tzfile(5)   zdump(8)

7. COLOPHON(书籍的末页,出版社名称)

此页面是Linux man-pages项目4.04版本的一部分。项目描述、bug报告以及此页面的最新版本,可访问 http://www.kernel.org/doc/man-pages/。

http://www.lryc.cn/news/389548.html

相关文章:

  • Springboot下使用Redis管道(pipeline)进行批量操作
  • Vue技巧大揭秘:自定义指令的力量与应用
  • HR人才测评,如何考察想象力?
  • Git命令远程分支的合并和本地分支的同步
  • 墨烯的C语言技术栈-C语言基础-003
  • RpcRrovider分发rpc服务(OnMessage和Closure回调)
  • 分解+降维+预测!多重创新!直接写核心!EMD-KPCA-Transformer多变量时间序列光伏功率预测
  • 【Python】MacBook M系列芯片Anaconda下载Pytorch,并开发一个简单的数字识别代码(附带踩坑记录)
  • 自定义控件动画篇(四)ObjectAnimator的使用
  • 实现List接口的ArrayList和LinkedList
  • 下拉选择输入框(基于elment-ui)
  • CPP入门:日期类的构建
  • springboot学习,如何用redission实现分布式锁
  • 【MySQL】如果表被锁可以尝试看一下事务
  • Datawhale - 角色要素提取竞赛
  • 【Sql-驯化】sql中对时间的处理方法技巧总结
  • TFD那智机器人仿真离线程序文本转换为现场机器人程序
  • 贪心+后缀和,CF 1903C - Theofanis‘ Nightmare
  • 10分钟完成微信JSAPI支付对接过程-JAVA后端接口
  • 如何寻找一个领域的顶级会议,并且判断这个会议的影响力?
  • 真的假不了,假的真不了
  • 看完这篇文章你就知道什么是未来软件开发的方向了!即生成式AI在软件开发领域的革新=CodeFlying
  • HTML5五十六个民族网站模板源码
  • Linux_fileio实现copy文件
  • 【JavaEE精炼宝库】多线程进阶(2)synchronized原理、JUC类——深度理解多线程编程
  • 【Linux进程通信】使用匿名管道制作一个简单的进程池
  • Django 多对多关系
  • 构建 Audio Unit 应用程序
  • JavaScript 实用技巧
  • Python协作运动机器人刚体力学解耦模型