一起Talk Android吧(第四百三十三回:Java8中的日期时间类)

本文详细介绍Java8中LocalDateTime类的使用方法,包括如何获取、修改日期和时间,以及如何进行日期时间的比较。

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


各位看官们大家好,上一回中咱们说的例子是"Java8中的时间类",这一回中咱们说的例子是" Java8中的日期时间类"。闲话休提,言归正转,让我们一起Talk Android吧!

在Java8中使用LocalDateTime类表示日期时间类,该类提供了许多方法来操作日期和时间,接下来我们将详细这些方法。

获取日期和时间

获取日期和时间使用now()方法,不需要添加任何参数就可以获取到当前的日期和时间,日期默认为年月日格式,时间默认为时分秒格式,而且是当前系统所在时区的日期和时间。此方法是类的静态方法,直接调用就可以。

如果只想获取单独的年月日和时分秒,可以使用getYear/getMonth,getHour/Minute/Second等方法,这些方法是公有方法, 需要创建日期时间类对象后才能使用。

修改日期和时间

修改日期和时间使用of()方法,把具体的日期和时间当作参数传递给此方法就会生LocalDateTime类对象。这个操作相当于修改了日期和时间中的年月日和时分秒。

如果只想单独修改年月日和时分秒,可以使用withYear/Month/Hour/Minute/Second等方法,这些方法是公有方法,需要创建日期和时间类对象后才能使用。

日期和时间比较

日期和时间比较使用isBefore()方法,此方法的参数是日期和时间类对象,它可以比较两个日期和时间对象中日期和时间的早与晚。

示例程序

    private void showDateAndTime() {
        //获取当前日期和时间
        LocalDateTime localDateTime = LocalDateTime.now();
        Log.d(TAG, "showDateAndTime: "+localDateTime.toString());

        //获取年、月、日
        Log.d(TAG, "showDateAndTime: Y: "+localDateTime.getYear()+" M: "+localDateTime.getMonth()+" D: "+localDateTime.getDayOfMonth());
        //获取时、分、秒
        Log.d(TAG, "showDateAndTime: H: "+localDateTime.getHour()+" M: "+localDateTime.getMinute()+" S: "+localDateTime.getSecond());

        //创建指定时间的LocalDateTime对象
        LocalDateTime localDateTimeNew = LocalDateTime.of(2023,01,02,12,10,20);
        Log.d(TAG, "showDateAndTime: 2023 01 02 12:10:20: "+localDateTimeNew.toString());

        //修改LocalDateTime对象
        localDateTimeNew = localDateTimeNew.withYear(2024).withMonth(02).withDayOfMonth(03)
                .withHour(13).withMinute(20).withSecond(30);
        Log.d(TAG, "showDateAndTime: origin: 2023 01 02 12:10:20 new: "+localDateTimeNew.toString());

        //日期和时间比较
        String compare =(localDateTimeNew.isBefore(localDateTime))?" early ": "later ";
        Log.d(TAG, "showDateAndTime: "+localDateTimeNew+" is "+compare+" then "+localDateTime);
    }

看官们,上面是完整的示例程序,程序中添加有详细的注释,这样有助于大家理解程序,我在这里就不演示程序的运行结果了,希望大家自己动手去实践。

最后我想说的是这个类可以看作是日期类和时间类的合并。前面介绍的日期和时间类是分开的,也就是说日期类只能获取到日期,时间类只能获取到时间。这个类可以同时获取到日期和时间,在项目中遇到既需要日期又需要时间的地方时就可以使用这个类。

看官们,关于"Java8中的日期时间类"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值