Date - Time API中的基本类使用
常用类的概述与功能介绍
LocalDate类 :
LocalDate是一个不可变的日期时间对象,表示日期,通常被视为年、月、日。
LocalTime类 :
LocalTime是一个不可变的日期时间对象,代表一个时间,通常被看作是小时-秒,时间表示为纳秒精度。
LocalDateTime类 :
LocalDateTime 是一个不可变的日期时间对象,代表日期时间,通常被视为年-月-日-时-分-秒。
Year类 :表示年
YearMonth类 :表示年月
MonthDay类 :表示月日
Date - Time API中的所有类均生成不可变实例(任何修改操作都会返回一个新的实例),他们是线程安全的,
并且这些类不提供公共构造函数,没办法通过new的方式直接创建,需要采用工厂方法来实例化。
now()方法可以根据当前的日期或时间创建实例对象。
LocalDate LocalDateNow = LocalDate.now();
System.out.println("LocalDateNow is :"+LocalDateNow);
//LocalDateNow is : 2020-04-02
LocalTime LocalTimeNow = LocalTime.now();
System.out.println("LocalTimeNow is :"+LocalTimeNow);
//LocalTimeNow is : 10:03:17.585
LocalDateTime LocalDateTimeNow = LocalDateTime.now();
System.out.println("LocalDateTimeNow is :"+LocalDateTimeNow);
//LocalDateTimeNow is : 2020-04-02T10:03:17.585
Year year = Year.now();
System.out.println("Year is :"+year);
//Year is : 2020
YearMonth yearMonth = YearMonth.now();
System.out.println("YearMonth is :"+yearMonth);
//YearMonth is : 2020-04
MonthDay monthDay = MonthDay.now();
System.out.println("MonthDay is :"+monthDay);
//MonthDay is : --04-02
of方法在日期/时间类的应用
of方法可以根据给定的参数生成对应的日期/时间对象,基本上每个基本类都有of方法,
用于生成对应的对象,而且重载形式多种,可以根据不同的参数生成对应的数据。
//LocalDate localDate = LocalDate.of(year, month, day);
LocalDate localDate = LocalDate.of(2018, 8, 8);
System.out.println("LocalDate: "+localDate);
//LocalDate: 2018-08-08
LocalTime localTime = LocalTime.of(hour, minute);
LocalTime localTime = LocalTime.of(hour, minute, second);
LocalTime localTime = LocalTime.of(hour, minute, second, nanoOfSecond);
//如果秒和纳秒为0,默认不会封装这些数据,只显示小时和分钟。
LocalDateTime LocalDateTime = LocalDateTime.of(year, month, day, hour, minute, second, nanoOfSecond);
LocalDateTime LocalDateTime = LocalDateTime.of(year, month, day, hour, minute);
LocalDateTime的of方法的特殊使用
LocalDateTime LocalDateTime = LocalDateTime.ofLocalDate localDate,LocalTime localTime );
JAVA 获取自定义格式化时间
LocalDateTime( 以yyyy-MM-dd HH:mm:ss.SSS格式显示)
// yyyy-MM-dd HH:mm:ss.SSS —> 年-月-日 时-分-秒-毫秒 (想删掉哪个小部分就直接删掉哪个小部分)
String timeStr1=LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
String timeStr2=LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"));
System.out.println("当前时间为:"+timeStr1);
System.out.println("当前时间为:"+timeStr2);
//当前时间为:2018-11-27 10:41:47
//当前时间为:2018-11-27 10:41:47.392