JDK8加入
- LocalDate(日期)
- LocalTime(时间)
- LocalDateTime(日期时间)
- LocalDate只包含日期,可以获取日期字段
- LocalTime只包含时间,可以获取时间字段
- LocalDateTime包含日期+时间,可以获取日期和时间字段
LocalDateTime ldt = LocalDateTime.now(); //LocalDate.now()://LocalTime.now() System.out.println(ldt); ldt.getYear(); ldt.getMonthValue(); ldt.getMonth(); ldt.getDayOfMonth(); ldt.getHour(); ldt.getMinute(); ldt.getSecond();
DateTimeFormatter格式日期类类似于SimpleDateFormat
DateTimeFormat dtf = DateTimeFormatter.ofPattern(格式); String str = dtf. format(日期对象);
Instant时间戳
- 类似于Date
- 提供了一系列和Date类转换的方式Instant—>Date:
- Date date = Date.from(instant);Date>lnstant:
- Instant instant = date.tolnstant();
- 第三代日期类更多方法
- LocalDateTime类
- MonthDay类:检查重复事件是否是闰年
- 增加日期的某个部分
- 使用plus方法测试增加时间的某个部分
- 使用minus方法测试查看一年前和一年后的日期 ```java package test;
import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.format.DateTimeFormatter;
public class Main { public static void main(String[] args) { //第三代日期 //1. 使用now() 返回表示当前日期时间的 对象 LocalDateTime ldt = LocalDateTime.now(); //LocalDate.now();//LocalTime.now() System.out.println(ldt);
//2. 使用DateTimeFormatter 对象来进行格式化// 创建 DateTimeFormatter对象DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");String format = dateTimeFormatter.format(ldt);System.out.println("格式化的日期=" + format);System.out.println("年=" + ldt.getYear());System.out.println("月=" + ldt.getMonth());System.out.println("月=" + ldt.getMonthValue());System.out.println("日=" + ldt.getDayOfMonth());System.out.println("时=" + ldt.getHour());System.out.println("分=" + ldt.getMinute());System.out.println("秒=" + ldt.getSecond());LocalDate now = LocalDate.now(); //可以获取年月日LocalTime now2 = LocalTime.now();//获取到时分秒//提供 plus 和 minus方法可以对当前时间进行加或者减//看看890天后,是什么时候 把 年月日-时分秒LocalDateTime localDateTime = ldt.plusDays(890);System.out.println("890天后=" + dateTimeFormatter.format(localDateTime));//看看在 3456分钟前是什么时候,把 年月日-时分秒输出LocalDateTime localDateTime2 = ldt.minusMinutes(3456);System.out.println("3456分钟前 日期=" + dateTimeFormatter.format(localDateTime2));}
}
```javapackage test;import java.time.Instant;import java.util.Date;public class Main {public static void main(String[] args) {//1.通过 静态方法 now() 获取表示当前时间戳的对象Instant now = Instant.now();System.out.println(now);//2. 通过 from 可以把 Instant转成 DateDate date = Date.from(now);System.out.println(date);//3. 通过 date的toInstant() 可以把 date 转成Instant对象Instant instant = date.toInstant();System.out.println(instant);}}

