第一代日期类:
*Date类 精确到毫秒,表示特定的瞬间SimpleDateFormat:对应的格式解析类(文本->日期,日期->文本)*
用法如下:
Date d1 = new Date(9234567); //通过指定毫秒数得到时间
System.out.println(date.getHours());
//日期->时间
SimpleDateFormat sdf = new SimpleDateFormat("yyyy 年 MM 月 dd 日 hh:mm:ss E");
String format = sdf.format(d1); // format:将日期转换成指定格式的字符串
System.out.println("当前日期=" + format);
//文本->日期
String s = "1996 年 01 月 01 日 10:20:30 星期一"; Date parse = sdf.parse(s); System.out.println("parse=" + sdf.format(parse));
第二代日期类Calendar
将日期拆解为很多个字段来表示
用法如下:
Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.YEAR, 1999); calendar.set(Calendar.MONTH, 11); calendar.set(Calendar.DAY_OF_MONTH, 31); calendar.get(Calendar.DAY_OF_MONTH);
第三代日期类LocalDateTime/LocalDate/LocalTime
提供对应日期解析类为:DateTimeFormatter
//第三代日期
//1. 使用 now() 返回表示当前日期时间的 对象
LocalDateTime ldt = LocalDateTime.now();
System.out.println(ldt);
//2. 使用 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();/
//看看 890 天后,是什么时候 把 年月日-时分秒
LocalDateTime localDateTime = ldt.plusDays(890);
System.out.println("890 天后=" + dateTimeFormatter.format(localDateTime));



