java8时间和lambda表达式用法
程序员文章站
2022-06-04 22:56:05
...
java8时间和lambda表达式用法
//Lambda表达式用法
List<Integer> list=new ArrayList<>();
list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);list.add(6);list.add(7);list.add(8);list.add(9);list.add(10);
list.stream().filter(a -> a>2 && a<5).forEach(b -> {
System.out.println(b);
System.out.println(b+1);
});//结果3 4 4 5
list.stream().filter(a -> a<5).limit(2).forEach(b -> System.out.println(b));//结果1 2
List<Integer> li=new ArrayList<>();
li=list.stream().filter(a -> a<5).collect(Collectors.toList());
li.forEach(c -> System.out.println(c));//结果1 2 3 4
////时间用法
java.util.Date date = new java.util.Date();
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault(); //获取当前系统时区
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant,zone);//传统Date转LocalDateTime
LocalDate localDate = localDateTime.toLocalDate();//获取LocalDate
LocalTime localTime = localDateTime.toLocalTime();//获取LocalTime
java.util.Date dates = Date.from(localDateTime.atZone(zone).toInstant());//LocalDateTime转传统Date
//LocalDateTime类用法
String nowTime=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS").format(new Date());//格式化获取当前日期字符串
LocalDateTime datetime = LocalDateTime.parse(nowTime,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS"));
System.out.println(datetime);//2019-03-25T17:57:13.073
System.out.println(datetime.getYear());//获取当前年2019
System.out.println(datetime.getMonth());//获取当前月MARCH
System.out.println(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS").format(LocalDateTime.now()));//2019-03-25 17:57:14:251
ZonedDateTime zonedDatetime = ZonedDateTime.now(ZoneId.systemDefault());//ZoneId.systemDefault()获取当前系统时区
System.out.println(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS").format(zonedDatetime));//2019-03-25 17:57:14:254
//时间计算
LocalDateTime from = LocalDateTime.of(2014,Month.APRIL,16,0,0,0);
LocalDateTime to = LocalDateTime.of(2015,Month.APRIL,16,23,59,59);
//Duration计算类
Duration duration = Duration.between(from,to);
System.out.println( "两个时间相差天数:" + duration.toDays());//365
System.out.println( "两个时间相差小时数:" + duration.toHours());//8783
上一篇: Lambda表达式 与 方法引用
推荐阅读
-
java内置核心4大函数式接口写法和lambda表达式
-
《Python 3》--三引号、math模块、cmath模块、日期和时间、转义字符、字符串运算符、字符串格式化、函数、全局变量和局部变量、匿名函数(lambda))
-
Java8新特性之深入解析日期和时间_动力节点Java学院整理
-
C#基础之Lambda表达式用法实例教程
-
浅析Java8新特性Lambda表达式和函数式接口
-
Android编程之DatePicker和TimePicke简单时间监听用法分析
-
Java8新特性之深入解析日期和时间_动力节点Java学院整理
-
C#基础之Lambda表达式用法实例教程
-
Android编程之DatePicker和TimePicke简单时间监听用法分析
-
C#特性之匿名方法和Lambda表达式