一、Date类–主要表征某一时刻
排去已经废弃的构造器,Date的构造器有:
- Date() 空参构造器—>构造一个Date对象,它反应此时的系统时间
- Date(long n) 传入一个long数据(由1970.1.1计算机元年以来的毫秒数)得到一个对应的Date对象
方法:
-
void setTime(long date)
使用给定毫秒时间值设置现有 Date 对象。
-
String toString()
格式化日期转义形式 yyyy-mm-dd 的日期。
-
static Date valueOf(String s)
将 JDBC 日期转义形式的字符串转换成 Date 值
-
boolean before(Date d)
比较日期先后,若this的mils值小于d的millis值则返回true
-
boolean after(Date d)
比较日期先后,若this的mils值大于d的millis值则返回true
二、Calendar类——日历类用于保存年月日时分秒等信息以及日期间计算
Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。
实例化:
Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。Calendar 的 getInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:
Calendar rightNow = Calendar.getInstance();
方法:
-
void add(int field, int amount)
根据日历的规则,为给定的日历字段添加或减去(传入负数)指定的时间量 -
int get(int field)
返回给定日历字段的值 -
Date getTime()
返回一个表示此 Calendar 时间值(从历元至现在的毫秒偏移量)的 Date 对象 -
long getTimeInMillis()
返回此 Calendar 的时间值,以毫秒为单位。 -
void setTime(Date date)
使用给定的 Date 设置此 Calendar 的时间。 -
void set(int field, int value)
将给定的日历字段设置为给定值。 -
void set(int year, int month, int date)
设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。 -
void set(int year, int month, int date, int hourOfDay, int minute)
设置日历字段 YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY 和 MINUTE 的值。
重要字段(field): -
public static final int YEAR
指示年的 get 和 set 的字段数字。这是一个特定于日历的值 -
static final int MONTH
指示月份的 get 和 set 的字段数字。这是一个特定于日历的值。(从0开始表示一月) -
public static final int WEEK_OF_YEAR
get 和 set 的字段数字,指示当前年中的星期数。 -
public static final int DATE
get 和 set 的字段数字,指示一个月中的某天。它与 DAY_OF_MONTH 是同义词。 -
public static final int DAY_OF_WEEK
get 和 set 的字段数字,指示一个星期中的某天。从一开始且1表示星期天
- Date/Calendar/long三者之间的转化
- Date→long
d.getTime()得到毫秒值
- Date←long
new Date(long)
- Date→Calendar
cal.setTime(Date d)
- Date←Calendar
Date d = cal.getTime()
- Calendar→long
long mills = cal.getTimeInMillis();
- Calendar←long
cal.SetTimeInMillis(long l)
三、DateFormat类——text包下的格式转换工具抽象类
我们主要使用它的子类—SimpleDateFormat
SimpleDateFormat 是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)和规范化。
yyyy-MM-dd-HH:mm:ss —> 2019-5-9-23:40:38
构造器:
-
SimpleDateFormat()
用默认的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。 -
SimpleDateFormat(String pattern)
用给定的模式和默认语言环境的日期格式符号构造 SimpleDateFormat。
方法:
- String toPattern()
返回描述此日期格式的模式字符串 - Calendar getCalendar()
获取与此日期/时间格式器关联的日历。 - String format(Date date)
将一个 Date 格式化为日期/时间字符串。 - Date parse(String source)
从给定字符串的开始解析文本,以生成一个日期。