localdatetime_Localdate_Localtime

一、LocaDate用法

1.1获取时间

/**
    * 获取当前时间,最大时间,最小时间
    */
   @Test
   public void demo01() {
        LocalDate now = LocalDate.now();
        LocalDate max = LocalDate.MAX;
        LocalDate min = LocalDate.MIN;
        System.out.println("当前时间:" + now);
        System.out.println("获取最大时间:" + max);
        System.out.println("获取最小时间:" + min);
   }

image.png

1.2自定义日期

 /**
     * 自定义日期
     */
    @Test
    public void demo02() {
        LocalDate date = LocalDate.of(2019, 12, 24);
        System.out.println("自定义日期:" + date);
    }

image.png

1.3.获取当前日期是所在年的第几天、月的第几天、当前星期

/**
     * 获取当前日期是所在年的第几天、月的第几天、当前星期
     */
    @Test
    public void demo03() {
              LocalDate now = LocalDate.now();
        int year = now.getDayOfYear();
        int month = now.getDayOfMonth();
        DayOfWeek week = now.getDayOfWeek();
        System.out.println("获取年份:" + year);
        System.out.println("获取月份:" + month);
        System.out.println("获取星期:" + week);
    }

image.png
1.4.获取当前月和当前月天数

/**
     * 获取当前月,当前月天数
     */
    @Test
    public void demo04() {
        LocalDate now = LocalDate.now();
        Month month = now.getMonth();
        int monthValue = now.getMonthValue();
        int i = now.lengthOfMonth();
        System.out.println("当前月:" + month);
        System.out.println("当前月:" + monthValue);
        System.out.println("当前月天数:" + i);
    }

image.png

1.5.获取当前年份的天数和是否是闰年

/**
     * 获取当前年份的天数和是否是闰年
     */
    @Test
    public void demo05() {
       LocalDate now = LocalDate.now();
        int i = now.lengthOfYear();
        boolean leapYear = now.isLeapYear();
        System.out.println("获取当前年的天数:" + i);
        System.out.println("获取当前年是否是闰年:" + leapYear);
    }

image.png

1.6.with指定年月日

/**
     * with指定年月日
     */
    @Test
    public void demo06() {
         LocalDate now = LocalDate.now();
        LocalDate localDate = now.withDayOfMonth(1);
        LocalDate localDate1 = now.withDayOfYear(21);
        LocalDate localDate2 = now.withMonth(3);
        LocalDate localDate3 = now.withYear(2004);
        System.out.println("当月的指定日:" + localDate);
        System.out.println("获取今年第一月的指定日期:" + localDate1);
        System.out.println("今年指定月份,日为当天的日期:" + localDate2);
        System.out.println("指定年份的今天:" + localDate3);
    }

image.png

1.7.当前日期加减

 public static void demo07() {
        LocalDate now = LocalDate.now();
        LocalDate localDate = now.minusDays(1);
        LocalDate localDate1 = now.minusWeeks(1);
        LocalDate localDate2 = now.minusMonths(1);
        LocalDate localDate3 = now.minusYears(1);
        LocalDate localDate4 = now.plusDays(1);
        LocalDate localDate5 = now.plusWeeks(1);
        LocalDate localDate6 = now.plusMonths(1);
        LocalDate localDate7 = now.plusYears(1);
        System.out.println("demo7");
        System.out.println("当前日期的前一天:" + localDate);
        System.out.println("当前日期的前一星期:" + localDate1);
        System.out.println("当前日期的前一个月:" + localDate2);
        System.out.println("当前日期的前一年:" + localDate3);
        System.out.println("当前日期的后一天:" + localDate4);
        System.out.println("当前日期的后一星期:" + localDate5);
        System.out.println("当前日期的后一月:" + localDate6);
        System.out.println("当前日期的后一年:" + localDate7);
    }

image.png

二、LocalTime

2.1获取当前时间

 public static void demo08() {
        LocalTime now = LocalTime.now();
        System.out.println("demo08");
        System.out.println("当前时间:" + now);

    }

image.png

2.2指定时分秒

public static void  demo09() {
        LocalTime time1 = LocalTime.of(12, 9);
        LocalTime time2 = LocalTime.of(12, 9, 10);
        System.out.println("demo09");
        System.out.println("指定时分:" + time1);
        System.out.println("指定时分秒:" + time2);
    }

image.png

2.3获取当前时间的时分秒

 public static void demo10() {
        LocalTime now = LocalTime.now();
        int hour = now.getHour();
        int minute = now.getMinute();
        int second = now.getSecond();
        System.out.println("demo10");
        System.out.println("当前时间的时:" + hour);
        System.out.println("当前时间的分:" + minute);
        System.out.println("当前时间的秒:" + second);
    }

image.png

2.4**.替换当前的时分秒.替换当前的时分秒**

  public static void demo11() {
        LocalTime now = LocalTime.now();
        LocalTime time1 = now.withHour(1);
        LocalTime time2 = now.withMinute(21);
        LocalTime time3 = now.withSecond(31);
        System.out.println("demo11");
        System.out.println("替换当前的时:" + time1);
        System.out.println("替换当前的分:" + time2);
        System.out.println("替换当前的秒:" + time3);
    }

image.png

2.5当前时间加减

public static void demo12() {
        LocalTime now = LocalTime.now();
        LocalTime time1 = now.minusHours(1);
        LocalTime time2 = now.minusMinutes(1);
        LocalTime time3 = now.minusSeconds(1);
        LocalTime time4 = now.plusHours(1);
        LocalTime time5 = now.plusMinutes(1);
        LocalTime time6 = now.plusSeconds(1);
        System.out.println("demo12");
        System.out.println("当前时间减一分钟:" + time2);
        System.out.println("当前时间减一秒:" + time3);
        System.out.println("当前时间加一小时:" + time4);
        System.out.println("当前时间加一分钟:" + time5);
        System.out.println("当前时间加一秒:" + time6);
    }

image.png

三.LocalDateTime

3.1.获取当前时间

public static void demo13() {
    LocalDateTime now = LocalDateTime.now();
    System.out.println("demo13");
    System.out.println("获取当前时间:" + now);;
}

image.png

3.2.指定日期

  public static void demo14() {
        LocalDateTime now = LocalDateTime.now();
        LocalDateTime time1 = now.withYear(2012);
        LocalDateTime time2 = now.withMonth(12);
        LocalDateTime time3 = now.withDayOfMonth(23);
        LocalDateTime time4 = now.withHour(8);
        LocalDateTime time5 = now.withMinute(8);
        LocalDateTime time6 = now.withSecond(8);
        System.out.println("demo14");
        System.out.println("指定当前年份:" + time1);
        System.out.println("指定当前月份:" + time2);
        System.out.println("指定当前日:" + time3);
        System.out.println("指定当前时:" + time4);
        System.out.println("指定当前分:" + time5);
        System.out.println("指定当前秒:" + time6);
    }

image.png

3.3.获取当前日期的单个参数

  public static void demo15() {
        LocalDateTime now = LocalDateTime.now();
        int dayOfYear = now.getDayOfYear();
        int dayOfMonth = now.getDayOfMonth();
        int monthValue = now.getMonthValue();
        DayOfWeek dayOfWeek = now.getDayOfWeek();
        int hour = now.getHour();
        int minute = now.getMinute();
        int second = now.getSecond();
        System.out.println("demo15");
        System.out.println("获取当前日期在今年的第几天:" + dayOfYear);
        System.out.println("获取当前日期是本月的第几天:" + dayOfMonth);
        System.out.println("获取当前的月份:" + monthValue);
        System.out.println("获取当前的星期:" + dayOfWeek);
        System.out.println("获取当前的时:" + hour);
        System.out.println("获取当前的分:" + minute);
        System.out.println("获取当前的秒:" + second);
    }

image.png

3.4.当前时间加减

public static void demo16() {
        LocalDateTime now = LocalDateTime.now();
        LocalDateTime time1 = now.minusYears(1);
        LocalDateTime time2 = now.minusMonths(12);
        LocalDateTime time3 = now.minusWeeks(1);
        LocalDateTime time4 = now.minusDays(21);
        LocalDateTime time5 = now.minusHours(21);
        LocalDateTime time6 = now.minusMinutes(21);
        LocalDateTime time7 = now.minusSeconds(21);
        LocalDateTime time8 = now.plusYears(1);
        LocalDateTime time9 = now.plusMonths(12);
        LocalDateTime time10 = now.plusWeeks(1);
        LocalDateTime time11 = now.plusDays(21);
        LocalDateTime time12 = now.plusHours(21);
        LocalDateTime time13 = now.plusMinutes(21);
        LocalDateTime time14 = now.plusSeconds(21);
        System.out.println("demo16");
        System.out.println("当前时间减一年:" + time1);
        System.out.println("当前时间减12个月:" + time2);
        System.out.println("当前时间减一星期:" + time3);
        System.out.println("当前时间减21天:" + time4);
        System.out.println("当前时间减21小时:" + time5);
        System.out.println("当前时间减21分钟:" + time6);
        System.out.println("当前时间减21秒:" + time7);
        System.out.println("当前时间加一年:" + time8);
        System.out.println("当前时间加12个月:" + time9);
        System.out.println("当前时间加一星期:" + time10);
        System.out.println("当前时间加21天:" + time11);
        System.out.println("当前时间加21小时:" + time12);
        System.out.println("当前时间加21分钟:" + time13);
        System.out.println("当前时间加21秒:" + time14);

    }

image.png

3.5.获取当前日期和指定日期

 public static void demo17() {
        LocalDateTime now = LocalDateTime.of(LocalDate.now(), LocalTime.now());
        LocalDateTime time1 = LocalDateTime.of(2010, Month.JULY, 12, 12, 12);
        System.out.println("demo17");
        System.out.println("获取当前日期:" + now);
        System.out.println("指定日期:" + time1);
    }

image.png

4.1转换

 /**
     * 转化
     */

    public static void demo18() {
        LocalDateTime now1 = LocalDateTime.now();
        LocalDate date1 = now1.toLocalDate();
        LocalTime time1 = now1.toLocalTime();
        LocalDate now2 = LocalDate.now();
        LocalDateTime date2 = now2.atStartOfDay();
        String format = now1.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:ss:mm"));
        Long newSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
        System.out.println("demo18");
        System.out.println("LocalDateTime转LocalDate:" + date1);
        System.out.println("LocalDateTime转LocalTime:" + time1);
        System.out.println("LocalDate转LocalDateTime:" + date2);
        System.out.println("LocalDateTime格式化:" + format);
        System.out.println("获取毫秒时间:" + newSecond);
    }

image.png

4.2计算差值

    /**
     * 计算差值
     */

    public static void demo19() {
        String date = "2019-01-01 01:12:12";
        LocalDateTime parseDate = LocalDateTime.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:ss:mm"));
        Duration betweenDate = Duration.between(parseDate, LocalDateTime.now());
        long days = betweenDate.toDays();
        long hours = betweenDate.toHours();
        long minutes = betweenDate.toMinutes();

        LocalDate parseDate1 = parseDate.toLocalDate();
        Period betweenDate1 = Period.between(parseDate1, LocalDate.now());
        int months = betweenDate1.getMonths();
        int days1 = betweenDate1.getDays();
        int months1 = betweenDate1.getMonths();
        int years = betweenDate1.getYears();
        System.out.println("demo19");
        System.out.println("天的差值:" + days);
        System.out.println("时差值:" + hours);
        System.out.println("分差值:" + minutes);
        System.out.println("比较月之间差值:" + months);
        System.out.println("比较天之间的差值:" + days1);
        System.out.println("月份差值:" + months1);
        System.out.println("年份差值:" + years);

    }

image.png

4.3获取年、月、周的第一天和最后一天

 /**
     * 极限值
     */
    public static void demo20() {
        LocalDateTime now = LocalDateTime.now();
        System.out.println("demo20");
        LocalDateTime monday = now.with(DayOfWeek.MONDAY);
        LocalDateTime sunday = now.with(DayOfWeek.SUNDAY);
        System.out.println("当前周的周一:" + monday);
        System.out.println("当前周的周日:" + sunday);

        LocalDateTime firstday = now.with(TemporalAdjusters.firstDayOfMonth());
        LocalDateTime lastDay = now.with(TemporalAdjusters.lastDayOfMonth());
        System.out.println("当前月的第一天:" + firstday);
        System.out.println("当前月的最后一天:" + lastDay);

        LocalDate start = LocalDate.now().with(TemporalAdjusters.firstDayOfYear());
        LocalDate end = LocalDate.now().with(TemporalAdjusters.lastDayOfYear());
        System.out.println("今年的第一天:" + start);
        System.out.println("今年的最后一天:" + end);
        LocalDate lastStart = LocalDate.now().plusYears(-1).with(TemporalAdjusters.firstDayOfYear());
        LocalDate lastEnd = LocalDate.now().plusYears(-1).with(TemporalAdjusters.lastDayOfYear());
        System.out.println("去年的第一天:" + lastStart);
        System.out.println("去年的最后一天:" + lastEnd);

        LocalDate nextStart1 = LocalDate.now().plusYears(1).with(TemporalAdjusters.firstDayOfYear());
        LocalDate nextStart2 = LocalDate.now().with(TemporalAdjusters.firstDayOfNextYear());
        LocalDate nextEnd1 = LocalDate.now().plusYears(1).with(TemporalAdjusters.lastDayOfYear());
        System.out.println("明年的第一天:" + nextStart1);
        System.out.println("明年的第一天:" + nextStart2);
        System.out.println("明年的最后一天:" + nextEnd1);
    }

image.png

4.4.获得当天的最大时间和最小时间

 /**
     * 获取今天的最大时间和最小时间
     */

    public static void demo21() {
        LocalDateTime now = LocalDateTime.now();
        // 获取当前星期的第一天和最后一天
        LocalDateTime startTime = LocalDateTime.of(LocalDate.now(), LocalTime.MAX);
        LocalDateTime endTime = LocalDateTime.of(LocalDate.now(), LocalTime.MIN);
        System.out.println("demo21");
        System.out.println("当天最小时间:" + startTime);
        System.out.println("当天最大时间:" + endTime);
    }

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值