Date
类表示特定的时刻,精度为毫秒。
在JDK 1.1之前, Date
类还有两个附加功能。 它允许将日期解释为年,月,日,小时,分钟和秒值。 它还允许格式化和解析日期字符串。 不幸的是,这些功能的API不适合国际化。 从JDK 1.1开始, Calendar
类应该用于在日期和时间字段之间进行转换,而DateFormat
类应该用于格式化和解析日期字符串。 不推荐使用Date
中的相应方法。
Date类
构造方法:过时方法不列举
构造器 | 描述 |
---|---|
Date() |
分配
Date 对象并对其进行初始化,使其表示分配时间,测量 Date 到毫秒。 |
Date?(long date) |
分配
Date 对象并初始化它以表示自标准基准时间(称为“纪元”)以来的指定毫秒数,即1970年1月1日00:00:00 GMT。 |
方法:
和类型 | 方法 | 描述 |
---|---|---|
boolean |
after?(Date when) |
测试此日期是否在指定日期之后。
|
boolean |
before?(Date when) |
测试此日期是否在指定日期之前。
|
Object |
clone() |
返回此对象的副本。
|
int |
compareTo?(Date anotherDate) |
比较两个日期的订购。
|
boolean |
equals?(Object obj) |
比较两个相等的日期。
|
static Date |
from?(Instant instant) |
从
Instant 对象获得 Date 的实例。 |
long |
getTime() |
返回自此
Date 对象表示的1970年1月1日00:00:00 GMT以来的毫秒数。 |
int |
hashCode() |
返回此对象的哈希码值。
|
void |
setTime?(long time) |
将此
Date 对象设置为表示格林尼治标准时间1970年1月1日00:00:00之后的 time 毫秒的时间点。 |
Instant |
toInstant() |
将此
Date 对象转换为 Instant 。 |
String |
toString() |
将此
Date 对象转换为以下形式的 String : |
格式化和解析日期字符串
SimpleDateFormat:
SimpleDateFormat
是一个用于以区域设置敏感的方式格式化和解析日期的具体类。 它允许格式化(日期→文本),解析(文本→日期)和规范化。常用构造方法:
SimpleDateFormat?(String pattern) |
构造一个
SimpleDateFormat 使用给定的模式和默认的默认日期格式符号 FORMAT 区域设置。 |
---|
日期指定字符:
yyyy 年 MM 月 dd日 h 12小时制 H 24小时制0-23 ss秒 SSS毫秒
例:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
方法:常用
变量和类型 | 方法 | 描述 |
---|---|---|
StringBuffer |
format?(Date date, StringBuffer toAppendTo, FieldPosition pos) |
将给定的
Date 为日期/时间字符串,并将结果附加到给定的 StringBuffer 。 |
Date |
parse?(String text, ParsePosition pos) |
解析字符串中的文本以生成
Date 。 |
Calender
Calendar
提供了一个类方法getInstance
,用于获取此类型的通用对象。 Calendar
的getInstance
方法返回一个Calendar
对象,其日历字段已使用当前日期和时间初始化:
Calendar calendar= Calendar.getInstance();
方法:
变量和类型 | 方法 | 描述 |
---|---|---|
abstract void |
add?(int field, int amount) |
根据日历的规则,将指定的时间量添加或减去给定的日历字段。
|
boolean |
after?(Object when) |
返回此
Calendar 是否表示指定的 Object 表示的时间之后的时间。 |
boolean |
before?(Object when) |
返回此
Calendar 是否表示指定的 Object 代表的时间之前的时间。 |
void |
clear() |
设置此
Calendar 未定义的所有日历字段值和时间值(距离 Epoch的毫秒偏移量)。 |
void |
clear?(int field) |
设置此
Calendar 未定义的给定日历字段值和时间值(距离 Epoch的毫秒偏移量)。 |
Object |
clone() |
创建并返回此对象的副本。
|
int |
compareTo?(Calendar anotherCalendar) |
比较两个
Calendar 对象表示的时间值(从 Epoch开始的毫秒偏移)。 |
boolean |
equals?(Object obj) |
将此
Calendar 与指定的 Object 。 |
static Calendar |
getInstance() |
使用默认时区和区域设置获取日历。
|
Date |
getTime() |
|
int |
|
返回给定日历字段的值。
|
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 。 |
void |
set?(int year, int month, int date, int hourOfDay, int minute, int second) |
设置字段中的值
YEAR , MONTH , DAY_OF_MONTH , HOUR_OF_DAY , MINUTE 和 SECOND 。 |
void |
setTime?(Date date) |
使用给定的
Date 设置此日历的时间。 |
String |
toString() |
返回此日历的字符串表示形式。
|
例:
Calendar calendar = new Calendar(); //使用Date类设置calendar时间 calendar.setTime(new Date()); //设置时间 月份为0-11 calendar.set(Calendar.YEAR, 2021); calendar.set(Calendar.MONTH, 1); calendar.set(Calendar.DAY_OF_MONTH, 7); //返回一个Date对象 System.out.println(calendar.getTime().toString()); //使用日历取得时间偏移 calendar.add(Calendar.YEAR, 10); System.out.println(calendar.getTime().toString());
原文:https://www.cnblogs.com/yi-ji/p/14483310.html