// Created on savesnippets.com · https://savesnippets.com/MhjapWYjSZbncb import java.time.*; import java.time.format.DateTimeFormatter; import java.util.Locale; class Demo { void example() { var now = ZonedDateTime.now(); // Built-in formatters (thread-safe constants) System.out.println(DateTimeFormatter.ISO_INSTANT.format(Instant.now())); System.out.println(DateTimeFormatter.ISO_OFFSET_DATE_TIME.format(now)); System.out.println(DateTimeFormatter.ISO_LOCAL_DATE.format(LocalDate.now())); // Custom pattern — see DateTimeFormatter Javadoc for the symbols var fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z"); System.out.println(fmt.format(now)); // 2025-03-12 14:25:00 CDT // Locale-aware var dateFmt = DateTimeFormatter.ofPattern("EEEE, d MMMM yyyy", Locale.FRENCH); System.out.println(dateFmt.format(LocalDate.now())); // mercredi, 12 mars 2025 // Parse LocalDate d = LocalDate.parse("2025-01-15"); ZonedDateTime z = ZonedDateTime.parse("2025-03-12T14:25:00-05:00[America/Chicago]"); // Parse with custom format var customFmt = DateTimeFormatter.ofPattern("dd/MM/yyyy"); LocalDate uk = LocalDate.parse("15/01/2025", customFmt); } }