java8时间和lambda表达式用法

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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值