Java

java.time — Instant, LocalDate, ZonedDateTime

admin by @admin ADMIN
Jun 15, 2026
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
Java 8's `java.time` package replaced the broken `Date`/`Calendar`. Three types you actually use: `Instant` (UTC moment), `LocalDate` (date with no tz), `ZonedDateTime` (date+time in a zone).
Java
Raw
import java.time.*;
import java.time.format.DateTimeFormatter;

class Demo {
    void example() {
        // UTC moment — what to store in a database
        Instant now = Instant.now();
        System.out.println(now);                  // 2025-03-12T19:25:00.123Z

        // Local date — birthdays, calendar events
        LocalDate today = LocalDate.now();
        System.out.println(today);                // 2025-03-12

        // Local time without date
        LocalTime t = LocalTime.of(14, 30);

        // Both, no timezone
        LocalDateTime ldt = LocalDateTime.of(today, t);

        // With timezone — for display
        ZonedDateTime zdt = now.atZone(ZoneId.of("America/Chicago"));
        System.out.println(zdt);                   // 2025-03-12T14:25:00-05:00[America/Chicago]

        // Convert between
        Instant z = zdt.toInstant();
        ZonedDateTime tokyo = z.atZone(ZoneId.of("Asia/Tokyo"));
        System.out.println(tokyo);

        // Parse / format ISO 8601
        Instant parsed = Instant.parse("2025-01-01T00:00:00Z");
        String iso = DateTimeFormatter.ISO_INSTANT.format(now);
    }
}
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.