关于Java获取时间的总结

tech2022-09-20  53

在JAVA中有六个与时间有关的类: java.util.Date java.sql.Date java.sql.Time java.sql.Timestamp java.text.SimpleDateFormat java.util.Calendar 常用的也就是下面的几个: Date:        getTime()setTime() DateFormat: getInstance()getDateInstance()getDateTimeInstance()getTimeInstance() SimpleDateFormate: Formate(Date)parse(String s) Calendar:      getInstance()set()get()getActualMaximum()add()gettime()setTime(Date)

(1)、java.util.Date

  java.util.Date 是java.sqlDate,Time,Timestamp的父类,Java中的时间使用标准类库的java.util.Date,其表示特定的瞬间,精确到毫秒。是用距离一个固定时间点的毫秒数(可正可负,long类型)表达一个特定的时间点。从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串。因为Date的设计具有"千年虫"以及"时区"的问题,所以Date中的大部分方法已经不建议使用了,它们都被java.util.Calendar类所取代。

(2)、java.text.DateFormat(抽象类)

  DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(日期 -> 文本)、分析(文本-> 日期)和标准化。将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年1 月 1 日 00:00:00 这一刻开始的毫秒数。 不过DateFormat的格式化Date的功能有限,没有SimpleDateFormat强大;但DateFormat是SimpleDateFormat的父类。

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

  SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。

  SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。但是,仍然建议通过 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 来新的创建日期-时间格式化程序。

日期格式字符串如下:

常见的转换有两种:

将Date格式化为String   String format(Date d) 将String解析为Date    Date parse(String s)

(4)、java.util.Calendar(抽象类)

  java.util.Calendar 类用于封装日历信息,其主要作用在于其方法可以对时间分量进行运算。

  Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

  与其他语言环境敏感类一样,Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化。

相关博文推荐: 使用Java优雅地获取当前时间的几种方式 Java中时间类型(Calendar 、String、Date )的互转 Java常用类之Date和Calendar String.format()格式化日期说明手册

最新回复(0)