Java API之LocalDate和LocalTime

今天刷题的时候突然发现一个宝藏API,我称它为“时间管理者”,当当当,他们就是LocalDate和LocalTime!!!这个自jdk 1.8才诞生的API不所谓是不强大,对于时间的很多操作他们都支持,加时间吗,减时间,生成时间,输出当前日期和时间,等等等…下面就让我们来测试一下他们的一些主要的方法吧!

测试(用法见注释)

	public static void main(String[] args) {
        System.out.println("====LocalDate测试====");
        localDate();
        System.out.println("====LocalTime测试====");
        localTime();
        System.out.println("======日期+时间======");
        LocalDate date = LocalDate.of(2021, 03, 02);
        System.out.println(date.atTime(LocalTime.now()));
        System.out.println(date.atTime(10, 20));
        DateTimeFormatter f4 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        System.out.println(date.atTime(LocalTime.now()).format(f4));
    }

    // 测试LocalDate
    public static void localDate() {
        // 获取当前时间
        System.out.println("当前时间是:" + LocalDate.now());
        // 根据参数设置日期,参数分别为年,月,日
        LocalDate date = LocalDate.of(2014, 02, 21);
        System.out.println("2014-02-21");

        // 获取当前日期是所在月的第几天
        System.out.println("当前日期是所在月的第" + date.getDayOfMonth() + "天");
        // 获取当前日期是星期几(星期的英文全称)
        System.out.println("当前日期是星期" + date.getDayOfWeek());
        // 获取当前日期是所在年的第几天
        System.out.println("当前日期是本年的第" + date.getDayOfYear() + "天");

        // 获取当前日期所在月份(月份的英文全称)
        System.out.println("当前日期所在月份是:" + date.getMonth());
        // 获取当前日期所在月份的数值
        System.out.println("当前日期是" + date.getMonthValue() + "月份");
        // 获取当前日期所在月份有多少天
        System.out.println("当前月份一共有" + date.lengthOfMonth() + "天");

        // 获取当前日期所在年有多少天
        System.out.println("当前日期所在年一共有" + date.lengthOfYear() + "天");
        // 获取当前日期所在年是否是闰年
        System.out.println("当前年份是否是闰年:" + date.isLeapYear());
        // 将参数中的"日"替换localDate中的"日"
        System.out.println("替换后的结果是:" + date.withDayOfMonth(7));
        // 将参数中的天数替换localDate中的天数
        System.out.println("替换天数后:" + date.withDayOfYear(40));
        // 将参数中的"月"替换localDate中的"月"
        System.out.println("替换月份后:" + date.withMonth(6));
        // 将参数中的"年"替换localDate中的"年"
        System.out.println("替换年份后:" + date.withYear(2021));

        // 将当前日期减一天
        System.out.println("当前日期减十五天的结果:" + date.minusDays(15));
        // 将当前日期减一周
        System.out.println("减七周:" + date.minusWeeks(7));
        // 将当前日期减一月
        System.out.println("减八个月:" + date.minusMonths(8));
        // 将当前日期减一年
        System.out.println("减三年:" + date.minusYears(3));
        // 将当前日期加一天
        System.out.println("加五天:" + date.plusDays(5));
        // 将当前日期加一周
        System.out.println("加十七周:" + date.plusWeeks(17));
        // 将当前日期加一月
        System.out.println("加三个月:" + date.plusMonths(3));
        // 将当前日期加一年
        System.out.println("加三年:" + date.plusYears(3));
    }

    // 测试LocalTime
    public static void localTime() {
        // 获取当前时间
        LocalTime d = LocalTime.now();
        System.out.println("当前时间是:" + d);

        // 根据参数设置时间,参数分别为时,分,秒
        LocalTime date = LocalTime.of(12, 35, 58);
        System.out.println("设置时分秒:" + date);
        // 根据参数设置时间,参数分别为时,分
        LocalTime d2 = LocalTime.of(12, 35);
        System.out.println("设置时分:" + d2);

        // 获取当前时间的小时数
        System.out.println("获取当前时间的小时数:" + date.getHour());
        // 获取当前时间的分钟数
        System.out.println("获取当前时间的分钟数:" + date.getMinute());
        // 获取当前时间的秒数
        System.out.println("获取当前时间的秒数:" + date.getSecond());

        // 将参数中的"小时"替换localTime中的"小时"
        System.out.println("替换小时:" + date.withHour(1));
        // 将参数中的"分钟"替换localTime中的"分钟"
        System.out.println("替换分钟:" + date.withMinute(1));
        // 将参数中的"秒"替换localTime中的"秒"
        System.out.println("替换秒数:" + date.withSecond(1));

        // 将当前时间减一小时
        System.out.println("将当前时间减少七个小时:" + date.minusHours(7));
        // 将当前时间减一分钟
        System.out.println("将当前时间减少十八分钟:" + date.minusMinutes(18));
        // 将当前时间减一秒
        System.out.println("将当前时间减少一百二十八秒:" + date.minusSeconds(128));
        // 将当前时间加一小时
        System.out.println("将当前时间增加五个小时:" + date.plusHours(5));
        // 将当前时间加一分钟
        System.out.println("将当前时间增加七十八分钟:" + date.plusMinutes(78));
        // 将当前时间加一秒
        System.out.println("将当前时间增加一千五百秒:" + date.plusSeconds(1500));
    }

结果输出

在这里插入图片描述
在这里插入图片描述
ok,天色已晚,今天就先到这里吧,晚安各位~

参考博文: https://www.cnblogs.com/qingyunfc/p/10236734.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值