Java 1.8 LocalDate 日期
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/
截止目前, 星球 内专栏累计输出 66w+ 字,讲解图 2896+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2300+ 小伙伴加入学习 ,欢迎点击围观
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,并在你的代码中找到它的应用场景。