一、Date类
Date类表示时间日期类,属于java.util包,使用需要导包。需要了解的是,计算机中时间原点为:1970年1月1日 00:00:00,了解一下这个时间就好。时间换算单位为:1秒 = 1000毫秒;Date 代表了一个特定的时间,精确到毫秒
从API文档中可以看出,Date类中有好多东西已经过时了,所以我就介绍几个常用的就好。
1. 构造方法:
Date() 调用无参构造方法创建Date对象,获取当前系统时间。
Date(long date) 根据指定的毫秒值获取时间,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
2.方法
public long getTime() 把日期对象转换成对应的时间毫秒值。
public void setTime(long time) 把方法参数给定的毫秒值设置给日期对象。
二、DateFormat类
1.概述
DateFormat是日期/时间格式化子类的抽象类,属于java.text包下的,使用时需要导包。我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。
需要注意的是该类属于抽象类但不能创建对象,可以通过创建他的子类(SimpleDateFormat )对象,然后可以使用该类(父类接收,多态),也可以不多态。
格式化:日期 -> 文本 就是将我们之前看不懂的 Date日期格式转换为看的懂的字符串形式
例如:Tue May 12 10:39:17 GMT+08:00 2020 格式化之后:2020年05月12日 10:39:17
解析: 文本-> 日期 就是将我们之前看懂的字符串时间换为看不懂的Date格式
例如:"2020年05月12日 10:39:17" 解析后:Tue May 12 10:39:17 GMT+08:00 2020
2.构造方法
SimpleDateFormat(String pattern) 参数:pattern表示可以指定的日期格式
参数举例:"yyyy年MM月dd日 HH时mm分ss秒"
日期和时间格式由日期和时间模式字符串指定。 在日期和时间模式字符串中,从'A'
到'Z'
以及从'a'
到'z'
引号的字母被解释为表示日期或时间字符串的组件的模式字母。 可以使用单引号('
)引用文本,以避免解释。 "''"
代表单引号。 所有其他字符不被解释; 在格式化过程中,它们只是复制到输出字符串中,或者在解析过程中与输入字符串匹配。 定义了以下图案字母(所有其他字符从'A'
到'Z'
和从'a'
到'z'
被保留):
上面全是API文档中的内容,我直接考过来的。
代码演示:
三、LocalDateTime类
下面在介绍一下JDK8以后新增的几个时间日期类:
LocalDate:封装年月日
LocalTime:封装时分秒
LocalDateTime:封装年月是时分秒
根据功能就能看出,LocalDateTime的涵括范围更大,事实也确实如此,LocalDate和LocalTime在后面咱基本不用,所以这里只介绍LocalDateTime。
1.构造方法说明
方法名 | 说明 |
public static LocalDateTime now() | 获取当前系统时间 |
public static LocalDateTime of (年, 月 , 日, 时, 分, 秒) | 使用指定年月日和时分秒初始化一个LocalDateTime对象 |
代码演示:
2.方法说明
方法名 | 说明 |
public int getYear() | 获取年 |
public int getMonthValue() | 获取月份(1-12) |
public int getDayOfMonth() | 获取月份中的第几天(1-31) |
public int getDayOfYear() | 获取一年中的第几天(1-366) |
public DayOfWeek getDayOfWeek() | 获取星期 |
public int getMinute() | 获取分钟 |
public int getHour() | 获取小时 |
代码演示:
3.与LocalDate和LocalTime的转换方法
方法名 | 说明 |
public LocalDate toLocalDate () | 转换成为一个LocalDate对象 |
public LocalTime toLocalTime () | 转换成为一个LocalTime对象 |
代码演示:
4. LocalDateTime格式化和解析
方法名 | 说明 |
public String format (指定格式) | 把一个LocalDateTime格式化成为一个字符串 |
public LocalDateTime parse (准备解析的字符串, 解析格式) | 把一个日期字符串解析成为一个LocalDateTime对象 |
public static DateTimeFormatter ofPattern(String pattern) | 使用指定的日期模板获取一个日期格式化器DateTimeFormatter对象 |
代码演示:
5. LocalDateTime减少或者增加时间的方法
方法名 | 说明 |
public LocalDateTime minusYears (long years) | 减去或者添加年 |
public LocalDateTime minusMonths(long months) | 减去或者添加月 |
public LocalDateTime minusDays(long days) | 减去或者添加日 |
public LocalDateTime minusHours(long hours) | 减去或者添加时 |
public LocalDateTime minusMinutes(long minutes) | 减去或者添加分 |
public LocalDateTime minusSeconds(long seconds) | 减去或者添加秒 |
public LocalDateTime minusWeeks(long weeks) | 减去或者添加周 |
这里就不再演示代码了,想要什么结果,直接带入方法即可。
6.LocalDateTime修改方法
方法名 | 说明 |
public LocalDateTime withYear(int year) | 直接修改年 |
public LocalDateTime withMonth(int month) | 直接修改月 |
public LocalDateTime withDayOfMonth(int dayofmonth) | 直接修改日期(一个月中的第几天) |
public LocalDateTime withDayOfYear(int dayOfYear) | 直接修改日期(一年中的第几天) |
public LocalDateTime withHour(int hour) | 直接修改小时 |
public LocalDateTime withMinute(int minute) | 直接修改分钟 |
public LocalDateTime withSecond(int second) | 直接修改秒 |