java.time · java.base · since Java 1.8

ZonedDateTime

declaration
public final class ZonedDateTime
        implements Temporal, ChronoZonedDateTime<LocalDate>, Serializable

A full moment with zone rules attached: DST-aware arithmetic for human-facing scheduling ("9:30 in Belgrade, next Tuesday too").

Key methods

static ZonedDateTime now(ZoneId zone) / of(LocalDateTime, ZoneId)Creation.
ZonedDateTime plusDays(long) vs plus(Duration)Calendar day (DST-aware) vs exact elapsed time — deliberately different.
ZonedDateTime withZoneSameInstant(ZoneId)Same moment, another zone's clock.
Instant toInstant()Down to machine time.