本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
日期和时间模式
日期和时间格式由日期和时间模式字符串指定。在这些模式字符串中,从 A 到 Z 以及从 a 到 z 的未加引号的字母表示数据或时间值的组成部分。如果一个字母或文本字符串包含在一对单引号内,则不会解释该字母或文本,而是按原样使用,模式字符串中的所有其他字符也是如此。在打印期间,该字母或文本将按原样复制到输出字符串;在解析期间,它们将与输入字符串匹配。"''" 表示一个单引号。
以下模式字母是为指定的日期或时间组件定义的。从 “A” 到 “Z” 以及从 “a” 到 “z” 的所有其他字符均为保留字符。有关模式字母的字母顺序,请参见按字母顺序排列的日期和时间模式字母。
日期或时间组件 | 图案字母 | 以文本或数字形式呈现 | 示例 |
---|---|---|---|
时代标志 |
G |
广告 |
|
年份 |
y |
年份 |
1996;96 |
一年中的月 |
M |
月份 |
七月; 七月; 07 |
一年中的日期 |
w |
数字 |
27 |
一天中的日期 |
W |
数字 |
2 |
一年中的日期 |
D |
数字 |
189 |
一个月中的一天 |
d |
数字 |
10 |
一天中的日期 |
F |
数字 |
2 |
星期几 |
E |
ee=tu;eee=TUE;eee=Tuesday |
|
上午/下午标记 |
a |
下午 |
|
一天中的小时 (0-23) |
H |
数字 |
0 |
一天中的小时 (1-24) |
k |
数字 |
24 |
上午/下午一小时 (0-11) |
K |
数字 |
0 |
上午 12 天中的小时 (1-12) |
h |
数字 |
12 |
以分钟为单位 |
m |
数字 |
30 |
分钟内秒钟 |
s |
数字 |
55 |
毫秒 |
S |
数字 |
978 |
时区 |
z |
常规 |
太平洋标准时间;太平洋标准时间;GMT-08:00 |
时区 |
Z |
RFC |
-0800 |
模式字母通常是重复的,因为它们的数量决定了确切的呈现方式:
文本
对于格式化,如果模式字母的数量为 4 个或更多,则使用完整格式;否则,使用简短或缩写形式(如果有)。在解析方面,无论模式字母的数量如何,这两种形式都可接受。
数字
对于格式化,模式字母的数目是最小位数,较短的数字用零填充到这个数字。在解析时,除非需要将两个相邻字段分开,否则模式字母的数量将被忽略。
年份
如果时区有名称,则将其解释为文本。对于表示 GMT 偏移值的时区,使用以下语法:
GMTOffsetTimeZone: GMT Sign Hours : Minutes Sign: one of + - Hours: Digit Digit Digit Minutes: Digit Digit Digit: one of 0 1 2 3 4 5 6 7 8 9
小时必须介于 0 到 23 之间,分钟必须介于 00 和 59 之间。该格式与区域无关,数字必须取自 Unicode 标准的基本拉丁语块。
为了进行解析,还接受 RFC 822 时区。
R2 时区
格式化时使用 RFC 822 4 位时区格式:
RFC822TimeZone: Sign TwoDigitHours Minutes TwoDigitHours: Digit Digit
TwoDigitHours 必须介于 00 和 23 之间。其他定义与一般时区相同。
对于解析,也接受通用时区。
SimpleDateFormat 还支持 “本地化日期和时间模式” 字符串。在这些字符串中,上述模式字母可以替换为其他依赖于语言环境的模式字母。 SimpleDateFormat 不处理模式字母以外的其他文本的本地化;这由课堂的客户决定。
示例
以下示例显示了在美国语言环境中如何解释日期和时间模式。给定的日期和时间是美国太平洋时区的当地时间 2001-07-04 12:08:56。
日期和时间模式 | 结果 |
---|---|
“yyyy.mm.dd G 'at 'hh: mm: ss z” |
2001.07.04 公元太平洋夏令时 12:08:56 |
“EEE,MMM d,“yy” |
01 年 7 月 4 日星期三 |
“嗯:嗯 a” |
下午 12:08 |
“hh 'o" clock'a,zzzz” |
太平洋夏令时间下午 12 点 |
“k: mm a, z” |
太平洋夏令时晚上 0:08 |
“yyyyy.mmmm.dd GGG hh: mm aaa” |
02001.July.04 AD 下午 12:08 |
“EED,mmm yyyy hh: mm: ss Z” |
2001 年 7 月 4 日星期三 12:08:56 -0700 |
“yymmddhhmmsz” |
010704120856-0700 |
“mm: mm: mm: mm: ss.SSSZ |
2001-07-04T 12:08:56 .235-0700 |
按字母顺序排列的日期和时间模式字母
为了便于参考,下面按字母顺序显示在上面的日期或时间组件顺序中的相同模式字母按字母顺序显示。
图案字母 | 日期或时间组件 | 以文本或数字形式呈现 | 示例 |
---|---|---|---|
a |
上午/下午标记 |
文本 |
下午 |
D |
一年中的日期 |
数字 |
189 |
d |
一个月中的一天 |
数字 |
10 |
E |
星期几 |
文本 |
ee=tu;eee=TUE;eee=Tuesday |
F |
一天中的日期 |
数字 |
2 |
G |
时代标志 |
文本 |
广告 |
H |
一天中的小时 (0-23) |
数字 |
0 |
h |
上午 12 天中的小时 (1-12) |
数字 |
12 |
k |
一天中的小时 (1-24) |
数字 |
24 |
K |
上午/下午一小时 (0-11) |
数字 |
0 |
M |
一年中的月 |
月份 |
七月; 七月; 07 |
m |
以分钟为单位 |
数字 |
30 |
s |
分钟内秒钟 |
数字 |
55 |
S |
毫秒 |
数字 |
978 |
w |
一年中的日期 |
数字 |
27 |
W |
一天中的日期 |
数字 |
2 |
y |
年份 |
年份 |
1996;96 |
z |
时区 |
常规 |
太平洋标准时间;太平洋标准时间;GMT-08:00 |
Z |
时区 |
RFC |
-0800 |