JAVA处理日期时间常用方法

发布时间 : 星期一 文章JAVA处理日期时间常用方法更新完毕开始阅读

天开始,并且不包括前一个月的日期。在第一个星期之前该月日期的 WEEK_OF_MONTH 为 0。 5. java.text.DateFormat

DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如

SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、分析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年,1 月 1 日 00:00:00 这一刻开始的毫秒数。

DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间 Formatter。格式化风格包括 FULL、LONG、MEDIUM 和 SHORT。方法描述中提供了使用这些风格的更多细节和示例。

DateFormat 可帮助进行格式化并分析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。

要格式化一个当前语言环境下的日期,可使用某个静态工厂方法: myString = DateFormat.getDateInstance().format(myDate);

如果格式化多个日期,那么获得该格式并多次使用它是更为高效的做法,这样系统就不必多次获取有关环境语言和国家/地区约定的信息了。

DateFormat df = DateFormat.getDateInstance(); for (int i = 0; i < myDate.length; ++i) { output.println(df.format(myDate[i]) + \}

要格式化不同语言环境的日期,可在 getDateInstance() 的调用中指定它。

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE);

还可使用 DateFormat 进行分析。 myDate = df.parse(myString);

使用 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 的分析和格式化方法形式来

? ?

逐步地分析字符串的各部分。

对齐任意特定的字段,或者找出字符串在屏幕上的选择位置。

6. java.text.SimpleDateFormat

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

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

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

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

模式字母通常是重复的,其数量确定其精确表示:

联系合同范文客服:xxxxx#qq.com(#替换为@)