语言环境定义源文件格式的 LC_TIME 类别

用途

定义用于格式化时间和日期信息的规则和符号。

描述

语言环境定义源文件的 LC_TIME 类别定义用于格式化时间和日期信息的规则和符号。 此类别以 LC_TIME 类别标题开头,并以 结束 LC_TIME 类别尾部终止。

关键字

LC_TIME 类别关键字的所有操作数都定义为字符串或整数值。 字符串值用 "" 括起 (括在双引号内)。 所有值都与它们定义的关键字之间用一个或多个空格分隔。 两个相邻的双引号指示未定义的字符串值。 A -1 表示未定义的整数值。 字段描述符 由用于查询 LC_TIME 类别以表示时间和日期格式的元素的命令和子例程使用。 在 LC_TIME 类别中可识别以下关键字:

描述
复制 复制 语句指定要用作此类别的定义的现有语言环境的名称。 如果 复制 语句包括在文件中,那么不能指定其他关键字。
阿布达 定义对应于以下值的缩写工作日名称:%a字段描述符。 7 的值由 7 个分号分隔的字符串组成。 每个字符串必须长度相等且包含 5 个或更少字符。 第一个字符串对应于一周的第一天 (星期日) 的缩写名称 (Sun) ,第二天对应于一周的第二天的缩写名称,以此类推。
定义对应于以下项的工作日名称的完整拼写:%A字段描述符。 识别的值由七个分号分隔的字符串组成。 第一个字符串对应于一周的第一天 (星期日) 的名称的完整拼写,第二个对应于一周的第二天的名称,依此类推。
阿布蒙 定义对应于以下值的缩写月份名称:%b字段描述符。 识别的值由 12 个分号分隔的字符串组成。 每个字符串必须长度相等且包含 5 个或更少字符。 第一个字符串对应于一年的第一个月份 (1 月) 的缩写名称 (Jan) ,第二个月份对应于一年的第二个月份的缩写名称,以此类推。
周一 定义对应于以下项的月份名称的完整拼写:%B字段描述符。 识别的值由 12 个分号分隔的字符串组成。 第一个字符串对应于一年中的第一个月 (1 月) 的名称的完整拼写,第二个对应于一年中的第二个月的名称的完整拼写,以此类推。
D_t_fmt 定义用于标准日期和时间格式的字符串,该格式对应于%c字段描述符。 字符串可以包含字符和字段描述符的任意组合。
定义用于标准日期格式的字符串,该格式对应于%x字段描述符。 字符串可以包含字符和字段描述符的任意组合。
T_fmt 定义用于标准时间格式的字符串,该格式对应于%X字段描述符。 字符串可以包含字符和字段描述符的任意组合。
上午/下午 定义用于表示 安蒂梅里廷 (在中午之前) 和 后 Meridiem (在中午之后) 的字符串,这些字符串对应于%p字段描述符。 识别的值由两个分号分隔的字符串组成。 第一个字符串对应于 安蒂梅里廷 指定,最后一个字符串对应于 后 Meridiem 指定。
t_fmt_ampm 定义用于包含 am_pm 值的标准 12 小时制时间格式的字符串 (%p字段描述符)。 此语句对应于%r 字段描述符。 字符串可以包含字符和字段描述符的任意组合。
时代 定义语言环境中每个时代 (或皇帝统治时期) 的年份的计数和显示方式,对应于%E字段描述符修饰符。 对于每个时代,必须有一个格式如下的字符串:
direction:offset:start_date:end_date:name:format

按如下所示定义纪元字符串格式的变量:

方向
指定 "-" (减号) 或 "+" (加号) 字符。 加号字符指示当从开始日期移动到结束日期时,正方向上的年份计数。 减号字符指示当从开始日期移动到结束日期时,在负方向上的年份计数。
偏移量
指定代表该时代的第一年的数字。
开始日期
yyyy/毫米/ 格式指定该时代的开始日期,其中 yyyy毫米 分别是年,月和日。 在 AD 1 年之前的年份表示为负数。 例如,公元前100年3月5日开始的纪元将表示为-100/03/05.
结束日期
以用于 开始日期 变量或两个特殊值中的一个 -*+*的相同格式指定该时代的结束日期。 -* 值指示该时代的结束日期向后延伸到时间的开始。 +* 值指示该时代的结束日期将向前延伸至时间结束。 因此,结束日期可以在该时代的开始日期之前或之后按时间顺序排列。 例如,将输入基督教时代 AD 和 BC 的字符串,如下所示:
+:0:0000/01/01:+*:AD:%o %N
+:1:-0001/12/31:-*:BC:%o %N
名称
指定一个字符串,该字符串表示替换为以下项的时代名称:%N字段描述符。
格式
指定一个字符串以格式化%E字段描述符。 此字符串通常是以下项的函数:%o%N字段描述符。

时代 值由每个时代的一个字符串组成。 如果指定了多个纪元,那么每个纪元字符串都由一个; (分号) 分隔。

埃拉年 定义用于表示年份的字符串,格式为对应于以下格式的备用纪元:%Ey字段描述符。 字符串可以包含字符和字段描述符的任意组合。
era_d_fmt 定义用于表示对应于以下日期的日期的字符串:%Ex字段描述符。 字符串可以包含字符和字段描述符的任意组合。
时代_t_格式 定义语言环境的备用时间格式,由以下内容表示:%EX斯特富特 子例程的字段描述符。
时代_日期_时间格式 定义语言环境的备用日期和时间格式,如以下内容所示:%Ec斯特富特 子例程的字段描述符。
替代数字 定义对应于以下值的数字的备用字符串:%o字段描述符。 识别的值由一组分号分隔的字符串组成。 第一个字符串表示 0 字符串 (0) ,第二个字符串表示备用字符串 (1) ,依此类推。 最多可以指定 100 个替代字符串。

字段描述符

LC_TIME 语言环境定义源文件使用字段描述符来表示时间和日期格式的元素。 这些字段描述符的组合将创建其他字段描述符或创建时间和日期格式字符串。 在包含字段描述符和其他字符的格式字符串中使用时,字段描述符将替换为其当前值。 将复制所有其他字符而不更改。 以下字段描述符由用于查询 LC_TIME 类别以进行时间格式化的命令和子例程使用:

描述
%a 表示由 阿布达 语句定义的缩写的工作日名称 (例如, Sun)。
%A 表示 语句所定义的完整工作日名称 (例如,星期日)。
%b 表示 阿布蒙 语句所定义的缩写月份名称 (例如, Jan)。
%B 表示由 语句定义的完整月份名称 (例如, January)。
%c 代表由 D_t_fmt 语句定义的时间和日期格式。
%C 将世纪表示为十进制数 (00 到 99)。
%d 将月份中的某一天表示为十进制数 (01 到 31)。
%D 表示格式为 %m/%d/%y 的日期 (例如, 01/31/91)。
%e 将月份中的某一天表示为十进制数 (01 到 31)。 该%e字段描述符使用两位数字段。 如果月份中的日期不是两位数字,那么将使用空格字符填充前导数字。
%ec 指定语言环境的备用适当日期和时间表示。
%ec 在语言环境的备用表示法中指定基年 (句点) 的名称。
示例 (%E) 指定语言环境的备用日期表示。
%EX 指定语言环境的备用时间表示。
是 (%E) 指定从以下位置开始的偏移量:%EC(仅年份) 语言环境的备用表示法中的字段描述符。
%EY 指定完整的备用年份表示法。
(% Od) 使用语言环境的备用数字符号指定月份中的某一天。
(%O) 使用语言环境的备用数字符号指定月份中的某一天。
% OH 指定使用语言环境的备用数字符号的小时 (24 小时制)。
(%O) 指定使用语言环境的备用数字符号的小时 (12 小时制)。
(%) 使用语言环境的备用数字符号指定月份。
%OM 使用语言环境的备用数字符号指定分钟。
% 操作系统 使用语言环境的备用数字符号指定秒数。
%OU 使用语言环境的备用数字符号指定一年中的周数 (星期日作为一周的第一天)。
OW (%O) 将工作日指定为语言环境的备用表示法 0 的数字 (星期日 = 0)。
描述
% OW 使用语言环境的备用数字符号来指定一年中的周号 (星期一作为一周的第一天)。
% Oy 指定年份 (偏移量为%C字段描述符) 中的值。
%h 表示 阿布蒙 语句所定义的缩写月份名称 (例如, Jan)。 此字段描述符是以下项的同义词:%b字段描述符。
%H 以十进制数 (00 到 23) 表示 24 小时制的小时。
%I 以十进制数 (01 到 12) 表示 12 小时制的时钟小时。
%j 以十进制数 (001 到 366) 表示一年中的某一天。
%m 将一年中的月份表示为十进制数字 (01 到 12)。
%m 将小时的分钟数表示为十进制数 (00 到 59)。
%n 指定新的行字符。
%N 表示备用纪元名称。
%o 表示交替的纪元年份。
%p 表示 a.m。 或 p.m。 由 am_pm 语句定义的字符串。
%r 表示具有 a.m./p.m的 12 小时时钟时间。 t_fmt_ampm 语句定义的表示法。
%S 将分钟的秒数表示为十进制数 (00 到 59)。
%t 指定跳进字符。
%T 表示 24 小时制时间,格式为 %H: %M: %S (例如, 16:55:15)。
%u 以十进制数 (00 到 53) 表示一年中的某一周。 在计算此字段描述符的值时,星期日或 语句所定义的等效项被认为是一周中的第一天。
%w 以十进制数字 (0 到 6) 表示 6 中的某一天。 在计算此字段描述符的值时,星期日或 语句所定义的等效项将被视为 0。
%W 以十进制数 (00 到 53) 表示一年中的某一周。 在计算此字段描述符的值时,会将星期一或 语句所定义的等效项视为一周中的第一天。
%x 表示由 语句定义的日期格式。
%X 表示由 T_fmt 语句定义的时间格式。
%y 表示世纪中的年份 (00 到 99)。
注: 当环境变量 XPG_TIME_FMT=ON时, %y 是世纪内的年份。 如果未以其他方式指定一个世纪,那么范围在 69-99 之间的值指二十世纪的年份 (1969 年至 1999 年,含); 范围在 00-68 之间的值指 2000 年至 2068 年 (含)。
%Y 将年份表示为十进制数字 (例如, 1989 年)。
%z 表示时区名称 (如果可以确定) (例如, EST); 如果无法确定时区,那么将不显示任何字符。
%% 指定% (百分号) 字符。

示例

以下是语言环境定义源文件中列示的可能 LC_TIME 类别的示例:

LC_TIME
#
#Abbreviated weekday names (%a)
abday   "<S><u><n>";"<M><o><n>";"<T><u><e>";"<W><e><d>";\
        "<T><h><u>";"<F><r><i>";"<S><a><t>"
#
#Full weekday names (%A)
day     "<S><u><n><d><a><y>";"<M><o><n><d><a><y>";\
        "<T><u><e><s><d><a><y>";"<W><e><d><n><e><s><d><a><y>";\
        "<T><h><u><r><s><d><a><y>";"<F><r><i><d><a><y>";\
        "<S><a><t><u><r><d><a><y>"
#
#Abbreviated month names (%b)
abmon   "<J><a><n>";"<F><e><b>";"<M><a><r>";"<A><p><r>";\
        "<M><a><y>";"<J><u><n>";"<J><u><l>";"<A><u><g>";\
        "<S><e><p>";"<O><c><t>";"<N><o><v>";"<D><e><c>"
#
#Full month names (%B)
mon     "<J><a><n><u><a><r><y>";"<F><e><b><r><u><a><r><y>";\
        "<M><a><r><c><h>";"<A><p><r><i><l>";"<M><a><y>";\
        "<J><u><n><e>";"<J><u><l><y>";"<A><u><g><u><s><t>";\
        "<S><e><p><t><e><m><b><e><r>";"<O><c><t><o><b><e><r>";\
        "<N><o><v><e><m><b><e><r>";"<D><e><c><e><m><b><e><r>"
#
#Date and time format (%c)
d_t_fmt "%a %b %d %H:%M:%S %Y"
#
#Date format (%x)
d_fmt           "%m/%d/%y"
#
#Time format (%X)
t_fmt           "%H:%M:%S"
#
#Equivalent of AM/PM (%p)
am_pm           "<A><M>";"<P><M>"
#
#12-hour time format (%r)
t_fmt_ampm      "%I:%M:%S %p"
#
era             "+:0:0000/01/01:+*:AD:%o %N";\
                "+:1:-0001/12/31:-*:BC:%o %N"
era_year        ""
era_d_fmt       ""
alt_digits      "<0><t><h>";"<1><s><t>";"<2><n><d>";"<3><r><d>";\
                "<4><t><h>";"<5><t><h>";"<6><t><h>";"<7><t><h>";\
                "<8><t><h>";"<9><t><h>";"<1><0><t><h>"
#
END LC_TIME

文件

描述
/usr/lib/nls/loc/* 指定受支持语言环境的语言环境定义源文件。
/ usr/lib/nls/charmap/* 指定受支持语言环境的字符集描述 (图表映射) 源文件。