java 8 如何快速处理日期和时间 (LocalDate LocalTime)

本文深入探讨Java8中引入的LocalDate和LocalTime接口,解释为何需要这套新的日期时间处理API,以及如何使用它们来获取当前日期时间、创建特定日期、比较日期、增加时间间隔等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java 8新增了LocalDate和LocalTime接口,为什么要搞一套全新的处理日期和时间的API?因为旧的java.util.Date实在是太难用了。其次,LocalDate这个类是不可变的,并且是线程安全的。

1.获取当前时间

        LocalDate localDate = LocalDate.now();
        System.out.println("java8现在的日期是:" + localDate);
        Date date = new Date();
        System.out.println("原日期格式是:" + date);
        java8现在的日期是:2019-07-04
        原日期格式是:Thu Jul 04 20:35:07 CST 2019

2.获取 年,月,日等信息

        int year = localDate.getYear();
        int month = localDate.getMonthValue();
        int day = localDate.getDayOfMonth();
        System.out.println("年:"+ year + " 月:" + month + "  日:" + day);
        年:2019 月:7  日:4

3.通过now()方法可以获取当前时间的日期,还可以调用LocalDate.of()创建任意日期,传入年,月,日,返回对应的      LocalDate实例。

        LocalDate createDate = LocalDate.of(2001,1,1);
        System.out.println(createDate);
        2001-01-01

4.判断两个日期是否相等   LocalDate类重写了equals方法,可以两个日期进行对比

        LocalDate firstDate = LocalDate.of(2019,7,3);
        if(firstDate.equals(localDate)){
            System.out.println("日期相同");
        }else {
            System.out.println("日期不相同");
        }
        日期不相同

5.获取当前时间  与获取当前日期LocalDate相似,获取时间调用的是LocalTime类,这个类只有时间没有日期。调用静    态方法now()获取当前时间,默认格式是:hh:mm:ss:nnn

        LocalTime localTime = LocalTime.now();
        System.out.println("现在时间是:"+localTime);
        现在时间是:20:35:07.833

6.在现有的时间上增加小时   java8提供了plusHours()替代 add()。plusMinutes()plusSeconds()

        LocalTime newTime = localTime.plusHours(2);
        System.out.println("两个小时后的时间:" + newTime);
        两个小时后的时间:22:35:07.833

7.如何计算一周后的时间  LocalDate日期不包含时间信息,其中的plus()方法可以用来增加,天,周,月等。                    ChronoUnit 类声明了这些时间单位。

        LocalDate nextWeek = localDate.plus(1, ChronoUnit.WEEKS);
        System.out.println("今天的日期是:" + localDate + "   一周后的日期是:" + nextWeek);
        今天的日期是:2019-07-04   一周后的日期是:2019-07-11

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值