java日期时间使用方法汇总剖析

上传人:今*** 文档编号:105870112 上传时间:2019-10-13 格式:DOC 页数:7 大小:64KB
返回 下载 相关 举报
java日期时间使用方法汇总剖析_第1页
第1页 / 共7页
java日期时间使用方法汇总剖析_第2页
第2页 / 共7页
java日期时间使用方法汇总剖析_第3页
第3页 / 共7页
java日期时间使用方法汇总剖析_第4页
第4页 / 共7页
java日期时间使用方法汇总剖析_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《java日期时间使用方法汇总剖析》由会员分享,可在线阅读,更多相关《java日期时间使用方法汇总剖析(7页珍藏版)》请在金锄头文库上搜索。

1、Java日期时间使用方法汇总这篇文章主要针对Java日期时间使用方法进行汇总,感兴趣的朋友可以参考一下一、Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。 在Java中,操作日期主要涉及到一下几个类: 1、java.util.Date 类 Date 表示特定的瞬间,精确到毫秒。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串。Date 中的把日期解释为年、月、日、小时、分钟

2、和秒值的方法已废弃。 2、java.text.DateFormat(抽象类) DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 - 文本)、分析(文本- 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年,1 月 1 日 00:00:00 这一刻开始的毫秒数。 3、java.text.SimpleDateFormat(DateFormat的直接子类) SimpleDateFormat 是一个以与语言环境相关的方式

3、来格式化和分析日期的具体类。它允许进行格式化(日期 - 文本)、分析(文本 - 日期)和规范化。 SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 来新的创建日期-时间格式化程序。 4、java.util.Calendar(抽象类) Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获

4、得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。 与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。 5、java.util.GregorianCalendar(Calendar的直接子类) GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家使用的标

5、准日历系统。 GregorianCalendar 是一种混合日历,在单一间断性的支持下同时支持儒略历和格里高利历系统,在默认情况下,它对应格里高利日历创立时的格里高利历日期(某些国家是在 1582 年 10 月 15 日创立,在其他国家要晚一些)。可由调用方通过调用 setGregorianChange() 来更改起始日期。 二、java.util.Date的使用 1、java.util.Date的API简介 类 java.util.Date 表示特定的瞬间,精确到毫秒。提供了很多的方法,但是很多已经过时,不推荐使用,下面仅仅列出没有过时的方法: 构造方法摘要 - Date() 分配 Date

6、 对象并用当前时间初始化此对象,以表示分配它的时间(精确到毫秒)。 Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。 方法摘要 - boolean after(Date when) 测试此日期是否在指定日期之后。 boolean before(Date when) 测试此日期是否在指定日期之前。 Object clone() 返回此对象的副本。 int compareTo(Date anotherDate) 比较两个日期的顺序。 boolean

7、equals(Object obj) 比较两个日期的相等性。 long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 int hashCode() 返回此对象的哈希码值。 void setTime(long time) 设置此 Date 对象,以表示 1970 年 1 月 1 日 00:00:00 GMT 以后 time 毫秒的时间点。 String toString() 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (

8、Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 mon 是月份 (Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec)。 dd 是一月中的某一天(01 至 31),显示为两位十进制数。 hh 是一天中的小时(00 至 23),显示为两位十进制数。 mm 是小时中的分钟(00 至 59),显示为两位十进制数。 ss 是分钟中的秒数(00 至 61),显示为两位十进制数。 zzz 是时区(并可以反映夏令时)。标准时区缩写包括方法 parse 识别的时区缩写。如果不提供时区信息,则 zzz 为空,即根本不包括任

9、何字符。 yyyy 是年份,显示为 4 位十进制数。 下面是一个Date类的综合实例:public class TestDate public ain(String args) TestDate testdate = new TestDate(); testdate.getSystemCurrentTime(); testdate.getCurrentDate(); /* * 获取系统当前时间 * System.currentTimeMillis()返回系统当前时间,结果为1970年1月1日0时0分0秒开始,到程序执行取得系统时间为止所经过的毫秒数 * 1秒1000毫秒 */ public v

10、oid getSystemCurrentTime() System.out.println(-获取系统当前时间-); System.out.println(System.currentTimeMillis(); public void getCurrentDate() System.out.println(-获取系统当前时间-); /创建并初始化一个日期(初始值为当前日期) Date date = new Date(); System.out.println(现在的日期是 = + date.toString(); System.out.println(自1970年1月1日0时0分0秒开始至今所

11、经历的毫秒数 = + date.getTime(); 2、java.text.DateFormat抽象类的使用 DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 - 文本)、分析(文本- 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年,1 月 1 日 00:00:00 这一刻开始的毫秒数。 DateFormat 提供了很多类方法,以获得基于默认或给定语言环境和多种格式化风格的默认日期/时间 Formatter

12、。格式化风格包括 FULL、LONG、MEDIUM 和 SHORT。方法描述中提供了使用这些风格的更多细节和示例。 DateFormat 可帮助进行格式化并分析任何语言环境的日期。对于月、星期,甚至日历格式(阴历和阳历),其代码可完全与语言环境的约定无关。 要格式化一个当前语言环境下的日期,可使用某个静态工厂方法: myString = DateFormat.getDateInstance().format(myDate); 如果格式化多个日期,那么获得该格式并多次使用它是更为高效的做法,这样系统就不必多次获取有关环境语言和国家约定的信息了。DateFormat df = DateFormat

13、.getDateInstance();for (int i = 0; i myDate.length; +i) output.println(df.format(myDatei) + ; ); 要格式化不同语言环境的日期,可在 getDateInstance() 的调用中指定它。 DateFormat df = DateFormat.getDateInstance(DateFormat.LONG, Locale.FRANCE); 还可使用 DateFormat 进行分析。 myDate = df.parse(myString); 使用 getDateInstance 来获得该国家的标准日期格式

14、。另外还提供了一些其他静态工厂方法。使用 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 和 Fi

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号