DateTimeFormatter.ISO_LOCAL_DATE 是 Java 8+ 预定义的 yyyy-MM-dd 格式器,仅处理本地日期,不支持时间、时区或偏移量;可直接 parse 字符串为 LocalDate 或 format LocalDate 为字符串,无需新建实例,但不兼容带时间的字符串。

直接使用 DateTimeFormatter.ISO_LOCAL_DATE 不需要额外创建或配置,它本身就是 Java 8+ 中预定义的、开箱即用的标准格式器。
ISO_LOCAL_DATE 是什么格式
它对应的是 yyyy-MM-dd 格式,不带时间、不带时区、不带偏移量,只表示本地日期。例如:"2023-12-25"。
直接解析字符串为 LocalDate
用 parse() 方法配合该格式器,可将符合 yyyy-MM-dd 的字符串转为 LocalDate:
LocalDate date = LocalDate.parse("2024-03-15", DateTimeFormatter.ISO_LOCAL_DATE);- 注意:输入字符串必须严格匹配
yyyy-MM-dd(如不能是"24-03-15"或"2024/03/15")
直接格式化 LocalDate 为字符串
用 format() 方法,把 LocalDate 对象按 ISO_LOCAL_DATE 格式转成字符串:
立即学习“Java免费学习笔记(深入)”;
String s = LocalDate.now().format(DateTimeFormatter.ISO_LOCAL_DATE); // 如 "2024-04-01"- 无需 new 实例,也不需调用
ofPattern(),直接静态引用即可
常见误区提醒
这个格式器不能处理带时间的字符串(如 "2024-04-01T10:30"),也不能用于 LocalDateTime 或 ZonedDateTime。若需含时间,应选 ISO_LOCAL_DATE_TIME 或自定义格式器。


















