目录
一.简介
LocalDate表示当前(或指定)日期,格式为:yyyy-MM-dd
LocalTime表示当前(或指定)时间,格式为:HH:mm:ss (24小时制) 或者 hh:mm:ss (12小时制)
LocalDateTime表示当前(或指定)日期时间,格式为:yyyy-MM-ddTHH:mm:ss ,是前2者的结合
Instant表示当前(或指定)时间瞬时点
二.使用介绍
JDK1.8之后对表示时间的类型进行了重新编写,表示当前日期时间且线程安全的有LocalDate、LocalTime、LocalDateTime这三个类,JDK1.8之前使用Calendar,另外 Calendar 通过源码发现,多线程下会存在线程安全问题,可以看到 Canlendar 变量居然也是全局变量,导致脏变量情况产生,另外阿里巴巴java开发手册也提到了SimpleDateFormatter一般不要定义为 static 变量,如果定义为 static,必须要加锁或者使用DateUtils工具类。
api当中提供了时间类型构造方法、getter方法、时间加减操作、时间判断操作、指定未来时间操作、时间支持的类型操作,其使用方法基本上一致。
- LocalDate
public class LocalDateTimeDemo {
public static void main(String[] args) {//============ LoacalDate 的构造 ============
LocalDate localDate = LocalDate.now(); //获取当前时间:20120-12-07
LocalDate localDate2 = LocalDate.of(2020, 12, 8); //根据参数设置日期,参数分别为年,月,日
System.out.println("localDate -----"+localDate);
System.out.println("localDate2 -----"+localDate2);
//============ LoacalDate 获取当前时