JDK8 时间类使用
LocalDate
// 获取当前年月日
LocalDate localDate = LocalDate.now();
// 构建制定的年月日
LocalDate localDate1 = LocalDate.of(2019, 10, 13);
// 获取年
int year = localDate.getYear();
int year1 = localDate.get(ChronoField.YEAR);
// 获取月
Month month = localDate.getMonth();
int month1 = localDate.get(ChronoField.MONTH_OF_YEAR);
// 获取日
int day = localDate.getDayOfMonth();
int day1 = localDate.get(ChronoField.DAY_OF_MONTH);
// 获取星期
DayOfWeek dayOfWeek = localDate.getDayOfWeek();
int dayOfWeek1 = localDate.get(ChronoField.DAY_OF_WEEK);
LocalTime
// 获取当前时间
LocalTime localTime = LocalTime.now();
// 获取指定时间
LocalTime localTime1 = LocalTime.of(19, 55, 50);
// 获取时
int hour = localTime.getHour();
int hour1 = localTime.get(ChronoField.HOUR_OF_DAY);
// 获取分
int minute = localTime.getMinute();
int minute1 = localTime.get(ChronoField.MINUTE_OF_HOUR);
// 获取秒
int second = localTime.getMinute();
int second1 = localTime.get(ChronoField.SECOND_OF_MINUTE);
LocalDateTime
// 获取当前年月日时分秒
LocalDateTime localDateTime = LocalDateTime.now();
LocalDateTime localDateTime1 = LocalDateTime.of(2019, 10, 25, 20, 20, 59);
// 获取LocalDate
LocalDate localDate2 = localDateTime.toLocalDate();
// 获取LocalTime
LocalTime localTime2 = localDateTime.toLocalTime();
Instant
// 获取秒数
Instant instant = Instant.now();
long second2 = instant.getEpochSecond();
// 获取毫秒数
long minSecond = instant.toEpochMilli();
时间增减修改
// 增加一年
localDateTime.plusYears(1);
localDateTime.plus(1, ChronoUnit.YEARS);
// 增加一个月
localDateTime.plusMonths(1);
localDateTime.plus(1,ChronoUnit.MONTHS);
// 减少一天
localDateTime.minusDays(1);
localDateTime.minus(1,ChronoUnit.DAYS);
// 修改年某个值
localDateTime.withYear(2018);
localDateTime.with(ChronoField.YEAR,2018);
时间差
// LocalDateTime和LocalTime时间计算
Duration duration = Duration.between(localTime,localTime1);
duration.toDays();
duration.toHours();
// LocalDate时间计算
Period period = Period.between(localDate,localDate1);
period.getYears();
period.getMonths();
格式化与解析时间
// 格式化时间
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd/MM/yyyy hh:mm:ss");
String date = localDateTime.format(dateTimeFormatter);
// 解析时间
LocalDate localDate3 = LocalDate.parse("2019-10-30");
LocalDate localDate4 = LocalDate.parse("20191030",DateTimeFormatter.BASIC_ISO_DATE);