java8时间类
Posted 小奔的早晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java8时间类相关的知识,希望对你有一定的参考价值。
java8引入了一套全新的时间日期API
新的时间及日期API位于java.time中java.time包中的是类是不可变且线程安全的。
下面是一些关键类
LocalDateTime //2018-05-12 08:30:30
LocalDate //2018-5-12
LocalTime //08:30:30:622
Instans //时间戳 2018-05-12T14:20:13.592Z
获取当前日期:
LocalDate now = LocalDate.now();
获取年: now.getYear();
获取月: now.getMonthValue();
获取天: now.getDayofMonth();
获取前一天:now.minusDays(1);
获取前一周:now.minusWeeks(1);
获取前一月:now.minusMonths(1);
获取前一年:now.minusYears(1);
获取后一天:now.plusDays(1);
获取后一周:now.plusWeeks(1);
获取后一月:now.plusMonths(1);
获取后一年:now.plusYears(1);
获取当前时间:
LocalDateTime nowTime = LocalDate.now();
获取前一小时:nowTime.minusHours(1);
获取前一分钟:nowTime.minusMinutes(1);
获取前30秒:nowTime.minusSeconds(30);
获取后一小时:now.plusHours(1);
获取后一分钟:now.plusMinutes(1);
获取后30秒:now.plusSeconds(30);
nowTime也可以获取前一天,前一月。。。后一天,后一月。。。
时间格式转换:
DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String nowTimeString = nowTime.format(format);
LocalDateTime nowTimechange = LocalDateTime.parse(nowTimeString,format);
时间比较大小
LocalDateTime time1 = LocalDateTime.of(2018, 5, 12, 8, 30,30); or time1 = LocalDateTime.parse("2018-05-12 08:30:30",format);
LocalDateTime time2 = LocalDateTime.of(2018, 4, 20, 16, 30, 30); or time2 = LocalDateTime.parse("2018-04-20 16:30:30",format);
time1.isAfter(time2) true time1.isEqual(time2) false time1.isBefore(time2) false
以上是关于java8时间类的主要内容,如果未能解决你的问题,请参考以下文章