Ce face DateTimeFormatter.ISO_LOCAL_DATE
ISO_LOCAL_DATE este o constantă gata făcută pentru formatul internațional aaaa-ll-zz. Este formatul folosit de LocalDate.toString() și de LocalDate.parse(text) fără al doilea parametru, dar și de JSON, HTML (<input type="date">) și SQL.
Alte constante utile: ISO_LOCAL_DATE_TIME (2026-10-19T14:30:00), ISO_LOCAL_TIME, ISO_DATE_TIME (cu fus orar), ISO_INSTANT (…Z) și BASIC_ISO_DATE (20261019, fără cratime). Toate sunt independente de limbă.
Ce returnează
Un DateTimeFormatter predefinit.
Exemple
Exemplul 1: Constante ISO
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
LocalDateTime t = LocalDateTime.of(2026, 10, 19, 14, 30, 5);
System.out.println(t.format(DateTimeFormatter.ISO_LOCAL_DATE));
System.out.println(t.format(DateTimeFormatter.ISO_LOCAL_TIME));
System.out.println(t.format(DateTimeFormatter.ISO_LOCAL_DATE_TIME));
System.out.println(t.format(DateTimeFormatter.BASIC_ISO_DATE));
}
}
Rezultat
2026-10-19
14:30:05
2026-10-19T14:30:05
20261019
Exemplul 2: Conversie din format românesc în ISO
Datele dintr-un fișier românesc sunt rescrise în ISO, de exemplu pentru o bază de date.
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
public class Main {
public static void main(String[] args) {
DateTimeFormatter ro = DateTimeFormatter.ofPattern("dd.MM.yyyy");
String[] linii = {"Ana;14.03.2008", "Mihai;02.11.2008", "Elena;30.06.2007"};
for (String linie : linii) {
String[] p = linie.split(";");
LocalDate d = LocalDate.parse(p[1], ro);
System.out.println(p[0] + "," + d.format(DateTimeFormatter.ISO_LOCAL_DATE));
}
System.out.println(LocalDate.parse("2026-10-19", DateTimeFormatter.ISO_LOCAL_DATE).getDayOfWeek());
}
}
Rezultat
Ana,2008-03-14
Mihai,2008-11-02
Elena,2007-06-30
MONDAY
Greșeli frecvente
- Scrii propriul șablon
"yyyy-MM-dd"în loc de constanta ISO. Merge, dar constanta este mai clară și acceptă și ani cu mai mult de 4 cifre.
Comenzi înrudite
DateTimeFormatter: Descrie cum se scrie sau se citește o dată ca text; ofPattern(„dd.MM.yyyy”) creează un format din litere.LocalDate.parse: Transformă un text într-o dată: implicit formatul ISO 2026-10-19, sau orice format dat printr-un DateTimeFormatter.LocalDate.format: Transformă data într-un text după un șablon, de exemplu dd.MM.yyyy sau „luni, 19 octombrie 2026”.Instant: Un moment exact pe axa timpului, în UTC, măsurat în secunde și nanosecunde de la 1 ianuarie 1970.