今天刷题的时候突然发现一个宝藏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,天色已晚,今天就先到这里吧,晚安各位~