Java日期时间使用详解(3)

使用 getDateInstance 来获得该国家的标准日期格式。另外还提供了一些其他静态工厂方法。使用 getTimeInstance 可获得该国家的时间格式。使用 getDateTimeInstance 可获得日期和时间格式。可以将不同选项传入这些工厂方法,以控制结果的长度(从 SHORT 到 MEDIUM 到 LONG 再到 FULL)。确切的结果取决于语言环境,但是通常:

 SHORT 完全为数字,如 12.13.52 或 3:30pm

 MEDIUM 较长,如 Jan 12, 1952

 LONG 更长,如 January 12, 1952 或 3:30:32pm

 FULL 是完全指定,如 Tuesday, April 12, 1952 AD 或 3:30:42pm PST。

 

 如果愿意,还可以在格式上设置时区。如果想对格式化或分析施加更多的控制(或者给予用户更多的控制),可以尝试将从工厂方法所获得的 DateFormat 强制转换为 SimpleDateFormat。这适用于大多数国家;只是要记住将其放入一个 try 代码块中,以防遇到特殊的格式。

 

还可以使用借助 ParsePosition 和 FieldPosition 的分析和格式化方法形式来:逐步地分析字符串的各部分。 对齐任意特定的字段,或者找出字符串在屏幕上的选择位置。

 

DateFormat 不是同步的。建议为每个线程创建独立的格式实例。如果多个线程同时访问一个格式,则它必须保持外部同步。

 

3、java.text.SimpleDateFormat(DateFormat的直接子类)的使用

 

SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。

 

SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 来新的创建日期-时间格式化程序。每一个这样的类方法都能够返回一个以默认格式模式初始化的日期/时间格式化程序。可以根据需要使用 applyPattern 方法来修改格式模式。有关使用这些方法的更多信息,请参阅 DateFormat。

 

日期和时间模式

日期和时间格式由日期和时间模式 字符串指定。在日期和时间模式字符串中,未加引号的字母 'A' 到 'Z' 和 'a' 到 'z' 被解释为模式字母,用来表示日期或时间字符串元素。文本可以使用单引号 (') 引起来,以免进行解释。"''" 表示单引号。所有其他字符均不解释;只是在格式化时将它们简单复制到输出字符串,或者在分析时与输入字符串进行匹配。

 

定义了以下模式字母(所有其他字符 'A' 到 'Z' 和 'a' 到 'z' 都被保留):

字母

 

日期或时间元素

 

表示

 

示例

 

G

 

Era 标志符

 

 

AD

 

y

 

 

 

1996; 96

 

M

 

年中的月份

 

 

July; Jul; 07

 

w

 

年中的周数

 

 

27

 

W

 

月份中的周数

 

 

2

 

D

 

年中的天数

 

 

189

 

d

 

月份中的天数

 

 

10

 

F

 

月份中的星期

 

 

2

 

E

 

星期中的天数

 

 

Tuesday; Tue

 

a

 

Am/pm 标记

 

 

PM

 

H

 

一天中的小时数(0-23)

 

 

0

 

k

 

一天中的小时数(1-24)

 

 

24

 

K

 

am/pm 中的小时数(0-11)

 

 

0

 

h

 

am/pm 中的小时数(1-12)

 

 

12

 

m

 

小时中的分钟数

 

 

30

 

s

 

分钟中的秒数

 

 

55

 

S

 

毫秒数

 

 

978

 

z

 

时区

 

 

Pacific Standard Time; PST; GMT-08:00

 

Z

 

时区

 

 

-0800

 

 

更多的参考信息可以查看JDK API文档,下面给出一个综合实例:

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/dc87e9d1b8ee8b5ec72321771c5b611e.html