常用类
java.util.Date类表示特定的瞬间,精确到毫秒
构造器:
Date():使用无参构造器创建的对象可以获取本地当前时间。Date(long date)常用方法
getTime(): 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。toString(): 把此 Date 对象转换为以下形式的 String:dow mon dd hh:mm:ss zzz yyyy,其中dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。Date date = new Date();
System.out.println(date);   //Mon Apr 19 21:42:57 CST 2021
System.out.println(System.currentTimeMillis()); //1618839778051
System.out.println(date.getTime()); //1618839777959
Date date1 = new Date(date.getTime());
System.out.println(date1.getTime());    //1618839777959
System.out.println(date1.toString());   //Mon Apr 19 21:42:57 CST 2021
java.text.SimpleDateFormat类Date类的API不易于国际化,大部分被废弃了,java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类
格式化:日期 ==》字符串
SimpleDateFormat() :默认的模式和语言环境创建对象
public SimpleDateFormat(String pattern):该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用:
public String format(Date date):方法格式化时间对象date
解析:字符串 ==》日期
public Date parse(String source):从给定字符串的开始解析文本,生成一个日期。Date date = new Date(); // 产生一个Date实例
SimpleDateFormat formater = new SimpleDateFormat(); // 产生一个formater格式化的实例
//打印输出默认的格式,String类型
System.out.println(formater.format(date));  // 21-4-19 下午10:13
//自定义日期格式
SimpleDateFormat formater2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
//打印自定义日期格式,String类型
System.out.println(formater2.format(date)); // 2021-04-19 22:13:12
  
//解析字符串成日期类型
Date date1 = formater2.parse(formater2.format(date));   
System.out.println(date1);  //Mon Apr 19 22:19:32 CST 2021
java.util.Date VS java.sql.Date日期最终要入库,需要java.util.Date类转变成java.sql.Date类型
//情况一:
  Date date1 = new java.sql.Date(2343243242323L);
  java.sql.Date date2 = (java.sql.Date) date1;
//情况二:
  Date date3 = new Date();
  java.sql.Date date4 = new java.sql.Date(date3.getTime());
第一代:jdk 1.0 Date类
第二代:jdk 1.1 Calendar类,一定程度上替换Date类
第三代:jdk 1.8 提出了新的一套API
本地日期:LocalDate 
本地时间:LocalTime 
本地日期时间: LocalDateTime
常用方法
//now():获取当前日期、时间、日期+时间
LocalDate localDate = LocalDate.now();
LocalTime localTime = LocalTime.now();
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDate);  //2021-04-21
System.out.println(localTime);  //22:45:08.678
System.out.println(localDateTime);  //2021-04-21T22:45:08.678
//of():设置时间,没有偏移量
LocalDate ofDate = LocalDate.of(2021, 4, 21);
LocalDateTime ofDateTime = LocalDateTime.of(2021, 4, 21, 22, 49);
System.out.println(ofDate); //2021-04-21
System.out.println(ofDateTime); //2021-04-21T22:49
//getXxx():获取日期时间
DayOfWeek dayOfWeek = localDateTime.getDayOfWeek();
System.out.println(dayOfWeek);  //WEDNESDAY
//withXxx():修改日期时间返回新对象
LocalDate withlocalDate = localDate.withDayOfMonth(22);
System.out.println(withlocalDate);  //2021-04-22
原文:https://www.cnblogs.com/silloutte/p/14687451.html