LocalDate的常用方法介绍

        城若破,有死而已;玉可碎,而不可改其白;竹可焚,而不可毁其节;身虽死,名可垂于竹帛也,又何惧哉!

(一) LocalDate与LocalDateTime初始化日期,对日期加减。

public static void main(String[] args){
                //获取当前时间(年月日)
              LocalDate localDate=LocalDate.now();
              //格式化日期(DateTimeFormatter是线程安全的,用于localData的时间格式化)
              DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
              LocalDate date= LocalDate.parse(localDate.toString(), formatter); //2022-05-23

              //增加一年
              LocalDate nextYear = date.plusYears(1); //2023-05-23
              //减少一年
              LocalDate lastYear = date.minusYears(1); //2021-05-23
              //增加一个月
              LocalDate nextMonths= date.plusMonths(1); //2021-06-23
              //增加一天
              LocalDate nextDays= date.plusDays(1); //2021-05-24

              //构造指定的年月日
              LocalDate specifiedDate = LocalDate.of(2022, 5, 23);
              //年
              int year = specifiedDate.getYear(); //2022
              //月(这里用到了ChronoField类,有兴趣的可以去了解一下)
              int month1 = specifiedDate.get(ChronoField.MONTH_OF_YEAR); //5
              //日
              int day = specifiedDate.getDayOfMonth(); //23

              //创建LocalTime,只会获取几时几分几秒
              LocalTime localTime = LocalTime.now();

              //创建LocalDateTime,获取年月日时分秒,等于LocalDate+LocalTime
              LocalDateTime localDateTime = LocalDateTime.now();
      }

 (二)Duration 或 ChronoUnit 计算两个时间的间隔

Duration 类计算时间间隔

LocalDateTime time = LocalDateTime.parse("2022-06-28T08:41:00");
LocalDateTime time1 = LocalDateTime.parse("2022-06-28T08:42:00");

Duration duration = Duration.between(time, time1);
// 相差天数
long datys = duration.toDays();
// 相差小时
long hours = duration.toHours();
// 相差分钟
long minutes = duration.toMinutes();
// 相差秒数
long seconds = duration.getSeconds();
// 相差毫秒
long millis = duration.toMillis();
// 相差纳秒
long nanos = duration.toNanos();

 ChronoUnit 类计算时间间隔

LocalDateTime time = LocalDateTime.parse("2022-06-28T08:41:00");
LocalDateTime time1 = LocalDateTime.parse("2022-06-28T08:42:00");

//相差月
long cuMonths = ChronoUnit.MONTHS.between(time, time1);
//相差天数
long cuDatys = ChronoUnit.DAYS.between(time, time1);
//相差小时
long cuHours = ChronoUnit.HOURS.between(time, time1);
//相差分钟
long cuMinutes = ChronoUnit.MINUTES.between(time, time1);
//相差秒
long cuSeconds = ChronoUnit.SECONDS.between(time, time1);

(三)获取某年第一天、最后一天,某年某月第一天,最后一天

// 指定日期
LocalDate localDate = LocalDate.parse("2023-05-05");

// 指定日期年的第一天
LocalDate firstDayOfYear = localDate.with(TemporalAdjusters.firstDayOfYear());
// 指定日期年的最后一天
LocalDate lastDayOfYear = localDate.with(TemporalAdjusters.lastDayOfYear());

// 指定某年某月的第一天
LocalDate firstDay = localDate.with(TemporalAdjusters.firstDayOfMonth());
// 指定某年某月的最后一天
LocalDate lastDay = localDate.with(TemporalAdjusters.lastDayOfMonth());

注:如果要精确到时间,把LocalDate改成LocalDateTime即可。


2022年5月23日随手记,明天见QAQ!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值