美文网首页
LocalDate基本使用

LocalDate基本使用

作者: 喏喏2021 | 来源:发表于2021-12-07 15:26 被阅读0次

    1. 概念

    1. 不带时区信息
    2. 只包含年月日
    3. 线程安全的

    2. 初始化

    LocalDate d = LocalDate.now(); //当前日期 2021-12-06
    LocalDate d1 = LocalDate.of(2021, 6, 6); //指定年月日 2021-06-06
    LocalDate d2 = LocalDate.of(2021, Month.DECEMBER, 1); //月份使用枚举 2021-12-01
    LocalDate d3 = LocalDate.ofYearDay(2021, 360); //某年第多少天 2021-12-26
    LocalDate d4 = LocalDate.parse("2021-12-07"); //格式化 2021-12-07,注:这里的月份和天,都必须是2位
    LocalDate d5 = LocalDate.parse("2021-11-15", DateTimeFormatter.ISO_LOCAL_DATE);//标准格式 2021-11-15
    LocalDate d6 = LocalDate.parse("20211015", DateTimeFormatter.ofPattern("yyyyMMdd"));//指定格式2021-10-15
    LocalDate d7 = LocalDate.parse("20211015", DateTimeFormatter.BASIC_ISO_DATE);//2021-10-15
    

    3.获取

    • 获取年、月、日、周几、月天、年天
    LocalDate d = LocalDate.now(); //当前日期 2021-12-06
    String d1 = d.getYear() + "-" + d.getMonthValue() + "-" + d.getDayOfMonth(); //年月日 2021-12-6
    DayOfWeek dayOfWeek = d.getDayOfWeek();//星期几 1
    int dayOfYear = d.getDayOfYear(); //一年第多少天 340
    int monthOfYear = d.get(ChronoField.MONTH_OF_YEAR);//当年第几个月 12
    int lengthOfMonth = d.lengthOfMonth(); //这个月有多少天 31
    int lengthOfYear = d.lengthOfYear(); //这年有多少天 365
    

    4.变更

    • 设置年、月、日、年天
    LocalDate d = LocalDate.now(); //当前日期 2021-12-07
    LocalDate d1 = d.withYear(2020); //变量年份 2020-12-07
    LocalDate d2 = d.withMonth(10); //变更月份 2021-10-07
    LocalDate d3 = d.withDayOfMonth(15); //变量日期 2021-12-15
    LocalDate d4 = d.withDayOfYear(12); //一年第多少天 2021-01-12
    LocalDate d5 = d.with(ChronoField.DAY_OF_WEEK,5); //一周第几天 2021-12-10
    LocalDate d6 = d.with(TemporalAdjusters.lastDayOfMonth()); //月最后一天 2021-12-31
    

    5. 转换

    • 添加天、周、月、年
    LocalDate d = LocalDate.now(); //当前日期 2021-12-07
    LocalDate d1 = d.plusDays(2); //添加2天 2021-12-09
    LocalDate d2 = d.minusDays(1); //减1天 2021-12-06
    LocalDate d3 = d.plusMonths(1); //加1个月 2022-01-07
    LocalDate d4 = d.plusWeeks(2); //加2个星期 2021-12-21
    LocalDate d5 = d.plusYears(1); //加1年 2022-12-07
    LocalDate d6 = d.plus(5L, ChronoUnit.DAYS); //加5天 2021-12-12
    

    6. 比较

    • 比较、相等、在前面、在后面
    LocalDate d = LocalDate.now(); //当前日期 2021-12-07
    LocalDate d1 = d.plusDays(5); //加5天
    int r1 = d.compareTo(d1); //负数,晚几天 -5
    boolean isEqual = d.isEqual(d1); //是否相等 false
    boolean isBefore = d.isBefore(d1); //是否在前 true
    boolean isAfter = d.isAfter(d1); //是否在后 false
    

    7. 格式化输出

    • 使用已有格式、指定格式
    LocalDate d = LocalDate.now(); //当前日期 2021-12-07
    String d1 = d.format(DateTimeFormatter.BASIC_ISO_DATE); //格式化输出 20211207
    String d2 = d.format(DateTimeFormatter.ofPattern("yyyy年MM月dd号"));//指定格式 2021年12月07号
    

    8. 其它

    • 是否闰年
    LocalDate d = LocalDate.now(); //当前日期 2021-12-07
    boolean isLeapYear = d.isLeapYear(); //是否闰年 false
    

    您感觉对您有些许帮助,可以帮忙点个赞哦!

    相关文章

      网友评论

          本文标题:LocalDate基本使用

          本文链接:https://www.haomeiwen.com/subject/umqnxrtx.html