Java 1.8 LocalDate 日期
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书活动
目前,
星球
内第一个项目:全栈前后端分离博客项目,演示地址:http://116.62.199.48/, 1.0 版本已经更新完毕,正在更新 2.0 版本。采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4
,手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 224 小节,累计 35w+ 字,讲解图:1544 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 1000+ 小伙伴加入,欢迎点击围观
。
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,并在你的代码中找到它的应用场景。