前言
之前学习过Java老牌的Date,Calender,后来Jdk8又出了新的LocalTime,学来学去混淆了,今天来总结一下Java8的常用的时间日期操作,下次忘记也方便翻阅。
获取时间&日期
LocalDate LocalTime LocalDateTime
获取当天日期
LocalDate只包含日期 2020-12-12,不包含时间 10:10:10
LocalDate date = LocalDate.now();
#
构造指定日期
LocalDate date = LocalDate.of(2000, 1, 1);
获取年月日信息
LocalDate date = LocalDate.now();
date.getYear() 获取年份
date.getMonthValue() 获取月份
date.getDayOfMonth() 获取本月第几日
获取时间信息
LocalTime time = LocalTime.now();
构造指定时间
LocalTime.of(12, 13, 13);
获取时分秒信息
LocalTime localTime = LocalTime.of(12, 13, 13);
localTime.getHour();
localTime.getMinute();
localTime.getSecond();
时间计算&比较
日期时间增加
// 调整时间
LocalTime time = LocalTime.now();
time.plusHours(2);
time.minusHours(3)
.......
日期时间比较
Java8提供了isAfter()、isBefore()用于判断当前日期时间和指定日期时间的比较
// LocalDate
LocalDate now = LocalDate.now();
LocalDate date1 = LocalDate.of(2020, 1, 1);
now.isAfter(date1);
now.isBefore(date1);
// LocalTime
.............
// LocalDateTime
.............
格式化
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
// 日期时间转字符串
LocalDateTime now = LocalDateTime.now();
String nowToString = now.format(formatter);
// 字符串转日期时间
String datetimeString = "1999-12-31 23:59:59";
LocalDateTime datetime = LocalDateTime.parse(datetimeText, formatter);
对比1、8以前的格式转换
//使用Date和SimpleDateFormat
// Date转String
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
String formatString = simpleDateFormat.format(new Date());
// String 转 Date
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = simpleDateFormat.parse("2017-12-03 10:15:30");
后续补充 <(_ _)>