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时间类的主要内容,如果未能解决你的问题,请参考以下文章

java8 lambda表达式

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

java8--- lambda

Java8 时间日期类操作

Java8 lambda 表达式示例

JAVA8—————StringJoiner类