本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
日期和时间模式
日期和时间格式由日期和时间模式字符串指定。在这些模式字符串中,从 A 到 Z 以及从 a 到 z 的未加引号的字母表示数据或时间值的组成部分。如果将字母或文本字符串括在一对单引号内,则该字母或文本不会被解释,而是按原样使用,模式字符串中的所有其他字符也是如此。在打印期间,该字母或文本将按原样复制到输出字符串;在解析期间,它们将与输入字符串匹配。"''" 表示一个单引号。
为指定的日期或时间组件定义了以下模式字母。从 “A” 到 “Z” 以及从 “a” 到 “z” 的所有其他字符均被保留。有关图案字母的字母顺序信息,请参见按字母顺序排列的日期和时间模式字母.
| 日期或时间组件 | 模式字母 | 以文字或数字形式呈现 | 示例 |
|---|---|---|---|
|
时代指示符 |
G |
广告 |
|
|
年份 |
y |
年份 |
1996;96 |
|
一年中的月 |
M |
月份 |
七月;七月;07 |
|
一年中的月 |
w |
数字 |
27 |
|
星期几 |
W |
数字 |
2 |
|
一年中的日期 |
D |
数字 |
189 |
|
month |
d |
数字 |
10 |
|
星期几 |
F |
数字 |
2 |
|
星期几 |
E |
eee=tu;eee=tue;eeee=Tuesday |
|
|
上午/下午标记 |
a |
下午 |
|
|
一天中的小时 (0year) |
H |
数字 |
0 |
|
一天中的小时 (1-24) |
k |
数字 |
24 |
|
上午/下午的时间 (0-11) |
K |
数字 |
0 |
|
minute、 |
h |
数字 |
12 |
|
一小时中的分钟 |
m |
数字 |
30 |
|
minute |
s |
数字 |
55 |
|
毫秒 |
S |
数字 |
978 |
|
时区 |
z |
常规 |
太平洋标准时间;太平洋标准时间;GMT-08:00 |
|
时区 |
Z |
RFC |
-M |
图案字母通常是重复的,因为它们的数字决定了确切的显示方式:
文本
格式化时,如果模式字母的数量为 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 时区。
RC 822 时区
格式化时使用 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 |
|
“哎呀,嗯 d,“yy” |
01 年 7 月 4 日星期三 |
|
“嗯:mm a” |
12:08 PM |
|
“嗯'o'clock'a,zzzz” |
太平洋夏令时间下午 12 点 |
|
“K: mm a, z” |
太平洋夏令时下午 0:08 |
|
“yyyy.mmmmmm.dd GGG hh: mm aaa” |
02001.July.04 AD 下午 12:08 |
|
“哎呀,嗯 yyyy HH: mm: ss Z” |
2001 年 7 月 4 日星期三 12:08:56 -0700 |
|
“yymmddhhmssz” |
010704120856-0700 |
|
“yyyyyyyyyyyyyyyyyyyyyyyyyy-M |
2001-07-04T 12:08:56 .235-0700 |
按字母顺序排列的日期和时间模式字母
为了便于参考,下面按字母顺序显示了上面以日期或时间组件顺序显示的相同图案字母。
| 模式字母 | 日期或时间组件 | 以文字或数字形式呈现 | 示例 |
|---|---|---|---|
|
a |
上午/下午标记 |
文本 |
下午 |
|
D |
一年中的日期 |
数字 |
189 |
|
d |
month |
数字 |
10 |
|
E |
星期几 |
文本 |
eee=tu;eee=tue;eeee=Tuesday |
|
F |
星期几 |
数字 |
2 |
|
G |
时代指示符 |
文本 |
广告 |
|
H |
一天中的小时 (0year) |
数字 |
0 |
|
h |
minute、 |
数字 |
12 |
|
k |
一天中的小时 (1-24) |
数字 |
24 |
|
K |
上午/下午的时间 (0-11) |
数字 |
0 |
|
M |
一年中的月 |
月份 |
七月;七月;07 |
|
m |
一小时中的分钟 |
数字 |
30 |
|
s |
minute |
数字 |
55 |
|
S |
毫秒 |
数字 |
978 |
|
w |
一年中的月 |
数字 |
27 |
|
W |
星期几 |
数字 |
2 |
|
y |
年份 |
年份 |
1996;96 |
|
z |
时区 |
常规 |
太平洋标准时间;太平洋标准时间;GMT-08:00 |
|
Z |
时区 |
RFC |
-M |