zic - 时区编辑器
总览
zic [ -v ] [ -d directory ] [ -l localtime ] [ -p posixrules ] [ -L leapsecondfilename ] [ -s ] [ -y command ] [ filename ... ]
描述
Zic 从文件中读取文本输入,文件的名字是用命令行指定的;然后生成时间转换信息文件,此文件由输入指定。如果 文件名 是 - ,从标准输入中读取。
可得到以下选项:
- -d 目录
- 在指定的目录中生成时间转换信息文件,而不是下面的标准的目录名。
- -l 时区
- 用给定的时区作为本地时间。 Zic 对此选项的对待如同在输入中有下面格式的连接行
连接 (从) 时区 (到)本地时间
- -p 时区
- 当处理 POSIX 格式的时区环境变量时,使用给定的时区规则。 Zic 对此选项的对待如同在输入中有下面格式的连接行
连接 (从) 时区 (到)POSIX规则
- -L 闰秒文件名
- 从指定名字的文件中读闰秒信息。如果不使用本选项,则在输出文件中不出现闰秒信息。
- 译注: 早期的日期时间度量采用天文方法,GMT (Greenwich Mean
- Time,格林威治平均时) 中的 Greenwich
所指称的是英国的一个天文台。1948年发明了原子钟,当前使用铯133原子钟的国际原子时间(TAI)与地球的公转和自转无关。由于地球自转的速度逐渐变慢,为保持与太阳运动的同相,
当 TAI 与太阳时之间的差距达到 800ms 时,在太阳时中加入闰秒调快太阳时的时间系统。矫正后的时间称为 UTC 时间(Universal
Coordinated Time,世界时)。 PC 机以本机器内的晶振计时, 没有与 UTC 时间同步的机制。UTC
是法语的缩写。引自:现代操作系统/Andrew S. Tanebaum 著。-北京: 机械工业出版社,1999.11。第 11 章,第 11.1.2 节;第 5
章,第 5.4.1 节。 - -v
- 当出现在数据文件中的年超出了 time(2) 可表示的值的年的范围时提出申诉。 (让用户知道他干不了超出自身能力的事)
- -s
- 限定在输出文件中存储的时间值无论被作为有符号或无符号均是同一个值。你能用此选项生成 SVVS 兼容文件。
- 译注: 传统 UNIX 使用三十二位有符号整数计数器以秒为单位计
- 时,以1970年1月1日为零起点,在2038年将溢出,负数可表示到 1901年。Linux
使用三十二位无符号整数计数器以秒为单位计时,以1970年1月1日为零起点,在2106年将溢出。由此决定了时间值的范围(至少是在 ANSI C
中)。引自:现代操作系统/Andrew S. Tanebaum 著。-北京: 机械工业出版社,1999.11。第 5 章,第 5.4.2 节。 - -y 命令
- 当检测年的类型时,使用给定的 命令 ,而不是 yearistype (见后)
输入行由字段组成。字段之间以白空格字符(空格或 TAB)分隔。前导和后挂的白空格将被忽略。在输入中的未加引号的 #
号表示直到其所在行结束的部分是注释。如果要在字段中使用空白和 # 号,你要把它们用双引号括起来。任何(去除了注释后的)空行将被忽略。非空行应是以下三种类型之一:
规则行,时区行,连接行。
规则行的格式
Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S 例如:
Rule US 1967 1973 - Apr lastSun 2:00 1:00 D
组成规则行的字段是:
- NAME 名字
- 给出此条规则所属的规则集的名字,名字可任意起。 FROM 从...(年) 给出本规则应用的启始年份。提供的年份可以是任何整数; minimum 最小 (或其略写)一词的意思是可表示成整数的最小年份。 maximum 最大 (或其略写)一词的意思是可表示成整数的最大年份。规则可以描述不能以时间值表示的时间,但忽略不能以时间值表示的时间,这允许规则在不同时间值类型的主机之间有可移植性。
- TO 到...(年)
- 给出本规则应用的终止年份。除了上面的 最大 和 最小 , only 唯一 (或其略写)一词的意思是与 FROM 字段有相同的值。
- TYPE 类型
- 给出本规则应用的年份类型。如果 TYPE 是 - ,则本规则应用于包含在 FROM 和 TO 之间的所有年份。如果是其他类型,则 Zic 执行下面的命令
yearistype year
type
来检测某一年的类型: 退出状态 0 表示此年是给定的类型;退出状态非 0 表示此年不是给定的类型。 - 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 点是一天开始, 午夜 24 点是一天结束。对于任何以上格式,如果给定的时间是本地的 时间,可以后跟字母 w ; 如果给定的时间是本地的 时间,可以后跟字母 s ; 果给定的时间世界时间,可以后跟字母 u (或 g 或 z ) 如果没写此种指示符,假定是"墙钟"时间。
- 译注:例如我的"墙钟"时间是北京时间(GMT+8),我的本地标准时间
- 是 GMT+9(哈尔滨所在的时区的时间)。
- SAVE 补偿
- 给出当本规则有效时增加到本地标准时间上的时间量。本字段与 AT 字段格式相同(当然,未使用 w 和 s 后缀)。
- LETTER/S 字母
- 给出当本规则有效时时区缩写的 (例如, 的 -,可变部分是空。
时区行格式
Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] 例如: Zone Australia/Adelaide 9:30 AusCST1971 Oct 31 2:00
组成规则行的字段是:
- NAME 名字
- 时区的名称,被作为为时区而生成的时间转换文件的名字。
- GMTOFF GMT-偏移量
- 为得到本时区的标准时间而应加到 UTC 时间上的时间量。本字段与规则行的 AT 和 SAVE 有相同的格式;字段值是负值 (即以负号开始)表示要从 UTC 时间上减去的时间量。
- RULES/SAVE 规则/补偿
- 本时区应用的规则的名字,或者是应加到本地标准时间上的时间量 。如果本字段是 - ,则本时区总是用标准时间。
- FORMAT 格式
- 本时区的时区缩写的格式。字符对 %s 表示时区缩写的 。另外,/ 符号(斜扛) 分隔标准时和夏令时的缩写。
- UNTIL 直到
- 是某个位置的 UTC 偏移量或规则改变的时间。它被指定为 某年某月某日某时。如果指定了本字段,直到指定的时间之后,才会产生从改变了的 UTC 偏移量和规则生成的时区信息。某年某月某日某时的格式同于规则中的 IN、ON 和 AT 列;随后的列可以省略,给未写出的列的缺省值是可能的最早的值。
- 下一行必须是一个 的行,就是说,除了字符串 和名字省略了之外,与时区行有一样的格式;接续行在上一行的 UNTIL 字段所指定的时间开始后,按本行的 UTC 偏移量或规则在上一行名字字段指定的文件中生成时区信息。接续行可以有象时区行一样的 UNTIL 字段,用于指示下一行是自己的接续。
- 译注:上面的这段绕口令的意思是
- zome 输出的时区文件名 规则1 规则2生效时间规则2 规则3生效时间 规则n
连接行格式
Link LINK-FROM LINK-TO 例如: Link Europe/IstanbulAsia/Istanbul
LINK-FROM 字段的值应是在某个时区行的 NAME 名字 字段上出现过; LINK-TO 字段是那个时区的可替代的名字。
除了接续行之外,行可在文件中以任意顺序出现。
描述闰秒的文件中的行有以下格式:
Leap YEAR MONTH DAY HH:MM:SS CORR R/S 例如:
Leap 1974 Dec 31 23:59:60 + S
字段 YEAR、 MONTH、 DAY 和 HH:MM:SS 说明什么时侯闰秒出现。 CORR 字段在应增加一秒时是 在其他字段给出的闰秒时间应被解释为 UTC 时间的情况下, R/S 字段应是 S ( 静止一词的缩写);在其他字段给出的闰秒时间应被解释为本地墙钟时间的情况下, R/S 字段应是 R(
zic - 时区编辑器的更多相关文章
- glibc 简介:
glibc 编辑 glibc是GNU发布的libc库,即c运行库.glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc.glibc除了封装linux操作系统所提供的系统服 ...
- HUSTOJ(转发)
来源:http://blog.csdn.net/xiajian2010/article/details/12954855 缘起 大四了,快毕业了,所以想准备点LAMP的知识和经验.刚好实验室里有人在搞 ...
- 时区提示:Local time zone must be set--see zic manual page 2018的解决办法
问题描述:在centos服务器上执行date命令时,显示的时间信息中的时区不正常,如下: [root@ulocalhost ~]# date Mon Apr 9 02:57:38 Local time ...
- Java8 时区DateTime API
原文:http://www.yiibai.com/java8/java8_zoneddateapi.html 时区日期时间的API正在使用当时区要被考虑时. 让我们来看看他们的操作. 选择使用任何编辑 ...
- Django之choices选项和富文本编辑器的使用
项目准备 1.创建数据库 create database choices_test default charset utf8; 2.创建一个名为 choices_test 的Django项目: 3.创 ...
- xadmin引入django-ckeditor富文本编辑器
一.安装: pip install django-ckeditor 安装django-ckeditor库 https://github.com/django-ckeditor/django-ckedi ...
- 集成百度编辑器 ueditor 后端配置项没有正常加载,上传插件不能正常使用!
项目要用到编辑器,于是集成了ueditor,集成ok,但一直显示 ‘’后端配置项没有正常加载,上传插件不能正常使用!‘’ 各种查: 网上说的无非就是那么集中情况 1. 因为百度官方的问题,php/co ...
- 搭建自己的博客(十三):为博客后台添加ckeditor富文本编辑器
使用django默认的编辑器感觉功能太少了,所以集成一下富文本编辑器. 1.安装和使用 (1).安装 pip install django-ckeditor (2).注册应用 在django的sett ...
- Django项目开发,XSS攻击,图片防盗链,图片验证码,kindeditor编辑器
目录 一.Django项目开发 1. 项目开发流程 2. auth模块的补充 (1)django的admin可视化管理页面 (2)将admin可视化管理页面的模型表显示成中文 (3)auth模块的用户 ...
随机推荐
- 关于软件IntelliJ IDEA的使用技巧(一)
一,IntelliJ IDEA的下载 点击网址http://www.jetbrains.com/idea/进入官网,点击Download 会出现如下页面 点击Ultimate下的Download,下载 ...
- android 数据异步加载
public class MainActivity extends Activity { ListView listView; File cache; //访问其他线程在当前线程中存放的数据 Hand ...
- Cannot proxy target class because CGLIB2 is not available .Add CGLIB to the class path or specify proxy interfaces…..
报错:Cannot proxy target class because CGLIB2 is not available .Add CGLIB to the class path or specify ...
- 【记录】Nginx错误could not build the server_names_hash you should increase server_names_hash_bucket_size: 32
今天遇到这个错误,现记录下解决方案: 在nginx的配置文件的http段中增加如下配置: server_names_hash_bucket_size 64; 下面是nginx官方文档解释: 如果定义了 ...
- Java web 应用自启动 shell脚本自动重启
之前公司的内部管理系统jenkins自动构建代码有时候会失效,导致服务停掉. 于是乎就搞了一个自动启动脚本. oa.jar就是监测的服务 startup.sh 的内容是运行jar包的命令 java - ...
- 使用truelicense实现用于JAVA工程license机制(包括license生成和验证)
开发的软件产品在交付使用的时候,往往会授权一段时间的试用期,这个时候license就派上用场了.不同于在代码中直接加上时间约束,需要重新授权的时候使用license可以避免修改源码,改动部署,授权方直 ...
- Java高并发网络编程(五)Netty应用
推送系统 一.系统设计 二.拆包和粘包 粘包.拆包表现形式 现在假设客户端向服务端连续发送了两个数据包,用packet1和packet2来表示,那么服务端收到的数据可以分为三种,现列举如下: 第一种情 ...
- js正则删除字符串中的部分内容
// 例如 let a = `(ID)444` a.replace(/\(ID\)/ig, '') // 结果 "444"
- input在输入中文时所触发的事件(防止输入中文时重复执行)
一般在监听文本框输入时监听文本内容改变事件,可以使用oninput和onchange事件,两者区别在于oninput在文本输入状态可以一直监听变化,onchange在文本框失去焦点时才会触发,所以要想 ...
- webpack最基本的用法
webpack 安装 webpack是所以Node.js开发的工具,可通过npm安装,首先要保证node已经安装完毕,可以去node官网下载, 然后通过npm下载webpack npm install ...