Java 1.8 LocalDate 日期
一则或许对你有用的小广告
欢迎加入小哈的星球,你将获得:专属的实战项目(4个项目都能学) / 1v1 提问 / 简历修改 / Java 学习路线 / 社群讨论 / 学习打卡 / 每月赠书
《Spring AI 项目实战(问答机器人、RAG 智能客服、联网搜索)》已完结,基于
Spring AI + Spring Boot 3.x + JDK 21...,查看介绍《从零手撸:仿小红书(微服务架构)》 已完结,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...,查看介绍;演示链接:http://116.62.199.48:7070/《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接:http://116.62.199.48/
新开坑项目:《从零手撸:秒杀系统高并发优化实战》 正在更新中...,查看介绍
截止目前,星球内专栏累计输出 150w+ 字,讲解图 5110+ 张,还在持续爆肝中.. 后续还会上新更多项目,已有 4700+ 小伙伴加入学习,欢迎点击围观
1. 什么是 LocalDate?
LocalDate 是 Java 8 中用于处理日期的不可变类,它只包含日期部分(年、月、日),没有时间和时区。
2. 创建 LocalDate
创建 LocalDate 实例的最直接方式是使用它的静态工厂方法,比如 LocalDate.now():
import java.time.LocalDate;
public class Main {
public static void main(String[] args) {
// 获取当前日期
LocalDate today = LocalDate.now();
System.out.println(today);
}
}
我们还可以使用 of() 方法来创建一个具体的日期:
LocalDate specificDate = LocalDate.of(2023, 7, 25);
System.out.println(specificDate);
上面的代码创建了一个表示 2023 年 7 月 25 日的 LocalDate。
3. 获取日期信息
LocalDate 提供了一些方法来获取日期的信息,例如获取年份、月份和日:
LocalDate today = LocalDate.now();
int year = today.getYear();
int month = today.getMonthValue();
int day = today.getDayOfMonth();
System.out.println(year);
System.out.println(month);
System.out.println(day);
4. 修改日期
LocalDate 是不可变的,这意味着所有的修改操作都会返回一个新的 LocalDate 实例。例如,我们可以使用 plusDays()、plusWeeks()、plusMonths() 和 plusYears() 方法来增加日期:
LocalDate today = LocalDate.now();
LocalDate future = today.plusDays(1).plusWeeks(1).plusMonths(1).plusYears(1);
System.out.println(future);
我们也可以使用 minusDays()、minusWeeks()、minusMonths() 和 minusYears() 方法来减少日期。
5. 比较日期
我们可以使用 isBefore() 和 isAfter() 方法来比较两个 LocalDate:
LocalDate date1 = LocalDate.of(2023, 7, 25);
LocalDate date2 = LocalDate.of(2023, 8, 25);
System.out.println(date1.isBefore(date2)); // true
System.out.println(date1.isAfter(date2)); // false
6. 总结
Java 8 的 LocalDate 类为我们提供了一个简洁、强大的工具来处理日期。通过使用 LocalDate,我们可以更轻松地创建、修改和比较日期。希望这个教程可以帮助你理解 LocalDate,并在你的代码中找到它的应用场景。
