Java8 LocalDate常用API
每日
获取当前日期
LocalDate now = LocalDate.now();
LocalDate date = LocalDate.of(2022, 10, 20);
ZoneId zoneId = ZoneId.of("Africa/Cairo");
LocalDate utc = LocalDate.now(zoneId);
LocalDate ofYearDay = LocalDate.ofYearDay(2022, 100);
获取日期所属年份、月份、日期,第几周、星期几
LocalDate date = LocalDate.now();
int year = date.getYear();
System.out.println("当前日期所属年份: " + year );
int monthValue = date.getMonthValue();
System.out.println("当前日期所属月份: " + monthValue );
int dayOfMonth = date.getDayOfMonth();
System.out.println("当前日期是几号: " + dayOfMonth);
int week = date.get(WeekFields.ISO.weekOfYear());
System.out.println("当前日期是当前年份的第几周: " + week);
int dayOfWeek = date.getDayOfWeek().getValue();
System.out.println("当前日期是星期[" + dayOfWeek + "]");

日期比较
LocalDate startDate = LocalDate.of(2022,11,1);
LocalDate endDate = LocalDate.of(2022,11,5);
if(startDate.isBefore(endDate)) {
System.out.println("2022-10-5 是在 2022-11-05之 【前】 的");
}
if(endDate.isAfter(startDate)) {
System.out.println("2022-11-5 是在 2022-10-05之 【后】 的");
}
if(endDate.isEqual(LocalDate.of(2022,11,5))) {
System.out.println("两个日期相等");
}
int result = Period.between(startDate, endDate).getDays();
if(result > 0) {
System.out.println("endDate 大于StartDate");
}
if(result < 0) {
System.out.println("endDate 小于StartDate");
}
long day = endDate.toEpochDay() - startDate.toEpochDay();

每周
根据周获取日期
int year = 2022;
int week = 11;
DayOfWeek dayOfWeek = DayOfWeek.MONDAY;
String numStr = week < 10 ? "0" + week : String.valueOf(week);
String weekDate = String.format("%s-W%s-%s", year, numStr, dayOfWeek.getValue());
LocalDate date = LocalDate.parse(weekDate, DateTimeFormatter.ISO_WEEK_DATE);
System.out.println(date);

每月
int year = 2022;
int month = 2;
LocalDate date = LocalDate.of(year,month,1);
int lengthOfMonth = date.lengthOfMonth();
System.out.println("2022年2月有" + lengthOfMonth + "天");
LocalDate monthLastDay = LocalDate.of(year, month, lengthOfMonth);

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具