Client and backend. This class is shared: the same code is compiled into your app and into your server, so everything on this page works in both.

public final class ZonedDateTime

  1. Object
  2. ZonedDateTime

ImplementsChronoZonedDateTime<LocalDate>, Comparable<ChronoZonedDateTime<?>>, Temporal, TemporalAccessor

A date and a time of day in a time zone, such as 2007-12-03T10:15:30+01:00[Europe/Paris].

Adding a date-based amount moves the wall clock and keeps the offset where the zone allows it; adding a time-based amount moves the instant. Across a change of offset the two differ, as they do in the JDK.

Methods

public static ZonedDateTime now()
public static ZonedDateTime now(ZoneId zone)The date and time now in zone.
public static ZonedDateTime now(Clock clock)
public static ZonedDateTime of(LocalDate date, LocalTime time, ZoneId zone)
public static ZonedDateTime of(LocalDateTime localDateTime, ZoneId zone)
public static ZonedDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)
public static ZonedDateTime ofLocal(LocalDateTime localDateTime, ZoneId zone, ZoneOffset preferredOffset)localDateTime in zone.
public ZonedDateTime withEarlierOffsetAtOverlap()At a wall clock time the zone passes twice, the first of the two moments; otherwise this.
public ZonedDateTime withLaterOffsetAtOverlap()At a wall clock time the zone passes twice, the second of the two moments; otherwise this.
public static ZonedDateTime ofInstant(Instant instant, ZoneId zone)
public static ZonedDateTime ofInstant(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)The moment localDateTime is at offset, in zone.
public static ZonedDateTime from(TemporalAccessor temporal)The date and time and zone of temporal.
public static ZonedDateTime parse(CharSequence text)
public static ZonedDateTime parse(CharSequence text, DateTimeFormatter formatter)
public LocalDateTime toLocalDateTime()The date and time on the wall clock.
public LocalDate toLocalDate()The date.
public LocalTime toLocalTime()The time of day.
public ZoneId getZone()The zone.
public ZoneOffset getOffset()The offset from UTC.
public Instant toInstant()The moment this is.
public long toEpochSecond()The seconds since 1970-01-01T00:00Z.
public OffsetDateTime toOffsetDateTime()This date and time with its offset and no zone.
public int getYear()
public int getMonthValue()
public Month getMonth()
public int getDayOfMonth()
public int getDayOfYear()
public DayOfWeek getDayOfWeek()
public int getHour()
public int getMinute()
public int getSecond()
public int getNano()
public ZonedDateTime withZoneSameInstant(ZoneId zone)The same moment in zone.
public ZonedDateTime withZoneSameLocal(ZoneId zone)The same wall clock time in zone, keeping the offset if it can.
public ZonedDateTime withYear(int year)
public ZonedDateTime withMonth(int month)
public ZonedDateTime withDayOfMonth(int dayOfMonth)
public ZonedDateTime withDayOfYear(int dayOfYear)
public ZonedDateTime withFixedOffsetZone()This date and time with its zone replaced by its current offset.
public ZonedDateTime withHour(int hour)
public ZonedDateTime withMinute(int minute)
public ZonedDateTime withSecond(int second)
public ZonedDateTime withNano(int nanoOfSecond)
public ZonedDateTime truncatedTo(TemporalUnit unit)
public boolean isSupported(TemporalUnit unit)Whether this value can add or subtract unit.
public ZonedDateTime plus(long amountToAdd, TemporalUnit unit)This value moved forward by amountToAdd of unit.
public ZonedDateTime minus(long amountToSubtract, TemporalUnit unit)This value moved back by amountToSubtract of unit.
public ZonedDateTime plus(TemporalAmount amount)This value moved forward by amount.
public ZonedDateTime minus(TemporalAmount amount)This value moved back by amount.
public ZonedDateTime plusYears(long years)
public ZonedDateTime plusMonths(long months)
public ZonedDateTime plusWeeks(long weeks)
public ZonedDateTime plusDays(long days)
public ZonedDateTime plusHours(long hours)
public ZonedDateTime plusMinutes(long minutes)
public ZonedDateTime plusSeconds(long seconds)
public ZonedDateTime plusNanos(long nanos)
public ZonedDateTime minusYears(long years)
public ZonedDateTime minusMonths(long months)
public ZonedDateTime minusWeeks(long weeks)
public ZonedDateTime minusDays(long days)
public ZonedDateTime minusHours(long hours)
public ZonedDateTime minusMinutes(long minutes)
public ZonedDateTime minusSeconds(long seconds)
public ZonedDateTime minusNanos(long nanos)
public long until(Temporal endExclusive, TemporalUnit unit)The whole units of unit from this value to endExclusive: date units on the wall clock of this zone, time units on the time line.
public String format(DateTimeFormatter formatter)
public int compareTo(ChronoZonedDateTime<?> other)Compares this object to the specified object to determine their relative order.
public boolean equals(Object obj)Indicates whether some other object is “equal to” this one.
public int hashCode()Returns a hash code value for the object.
public String toString()The JDK’s text: the date and time, the offset, and the zone in brackets when it is a region rather than the offset itself.

Inherited methods

Method details

now

public static ZonedDateTime now()

now

public static ZonedDateTime now(ZoneId zone)
The date and time now in zone.

now

public static ZonedDateTime now(Clock clock)

of

public static ZonedDateTime of(LocalDate date, LocalTime time, ZoneId zone)

of

public static ZonedDateTime of(LocalDateTime localDateTime, ZoneId zone)

of

public static ZonedDateTime of(int year, int month, int dayOfMonth, int hour, int minute, int second, int nanoOfSecond, ZoneId zone)

ofLocal

public static ZonedDateTime ofLocal(LocalDateTime localDateTime, ZoneId zone, ZoneOffset preferredOffset)
localDateTime in zone. A wall clock time the zone skips is moved forward by the length of the gap; one it passes twice takes preferredOffset when that is one of its two offsets, and the earlier offset otherwise.

withEarlierOffsetAtOverlap

public ZonedDateTime withEarlierOffsetAtOverlap()
At a wall clock time the zone passes twice, the first of the two moments; otherwise this.

withLaterOffsetAtOverlap

public ZonedDateTime withLaterOffsetAtOverlap()
At a wall clock time the zone passes twice, the second of the two moments; otherwise this.

ofInstant

public static ZonedDateTime ofInstant(Instant instant, ZoneId zone)

ofInstant

public static ZonedDateTime ofInstant(LocalDateTime localDateTime, ZoneOffset offset, ZoneId zone)
The moment localDateTime is at offset, in zone.

from

public static ZonedDateTime from(TemporalAccessor temporal)
The date and time and zone of temporal.

parse

public static ZonedDateTime parse(CharSequence text)

parse

public static ZonedDateTime parse(CharSequence text, DateTimeFormatter formatter)

toLocalDateTime

public LocalDateTime toLocalDateTime()
The date and time on the wall clock.

toLocalDate

public LocalDate toLocalDate()
The date.

toLocalTime

public LocalTime toLocalTime()
The time of day.

getZone

public ZoneId getZone()
The zone.

getOffset

public ZoneOffset getOffset()
The offset from UTC.

toInstant

public Instant toInstant()
The moment this is.

toEpochSecond

public long toEpochSecond()
The seconds since 1970-01-01T00:00Z.

toOffsetDateTime

public OffsetDateTime toOffsetDateTime()
This date and time with its offset and no zone.

getYear

public int getYear()

getMonthValue

public int getMonthValue()

getMonth

public Month getMonth()

getDayOfMonth

public int getDayOfMonth()

getDayOfYear

public int getDayOfYear()

getDayOfWeek

public DayOfWeek getDayOfWeek()

getHour

public int getHour()

getMinute

public int getMinute()

getSecond

public int getSecond()

getNano

public int getNano()

withZoneSameInstant

public ZonedDateTime withZoneSameInstant(ZoneId zone)
The same moment in zone.

withZoneSameLocal

public ZonedDateTime withZoneSameLocal(ZoneId zone)
The same wall clock time in zone, keeping the offset if it can.

withYear

public ZonedDateTime withYear(int year)

withMonth

public ZonedDateTime withMonth(int month)

withDayOfMonth

public ZonedDateTime withDayOfMonth(int dayOfMonth)

withDayOfYear

public ZonedDateTime withDayOfYear(int dayOfYear)

withFixedOffsetZone

public ZonedDateTime withFixedOffsetZone()
This date and time with its zone replaced by its current offset.

withHour

public ZonedDateTime withHour(int hour)

withMinute

public ZonedDateTime withMinute(int minute)

withSecond

public ZonedDateTime withSecond(int second)

withNano

public ZonedDateTime withNano(int nanoOfSecond)

truncatedTo

public ZonedDateTime truncatedTo(TemporalUnit unit)

isSupported

public boolean isSupported(TemporalUnit unit)
Whether this value can add or subtract unit.

plus

public ZonedDateTime plus(long amountToAdd, TemporalUnit unit)
This value moved forward by amountToAdd of unit.

minus

public ZonedDateTime minus(long amountToSubtract, TemporalUnit unit)
This value moved back by amountToSubtract of unit.

plus

public ZonedDateTime plus(TemporalAmount amount)
This value moved forward by amount.

minus

public ZonedDateTime minus(TemporalAmount amount)
This value moved back by amount.

plusYears

public ZonedDateTime plusYears(long years)

plusMonths

public ZonedDateTime plusMonths(long months)

plusWeeks

public ZonedDateTime plusWeeks(long weeks)

plusDays

public ZonedDateTime plusDays(long days)

plusHours

public ZonedDateTime plusHours(long hours)

plusMinutes

public ZonedDateTime plusMinutes(long minutes)

plusSeconds

public ZonedDateTime plusSeconds(long seconds)

plusNanos

public ZonedDateTime plusNanos(long nanos)

minusYears

public ZonedDateTime minusYears(long years)

minusMonths

public ZonedDateTime minusMonths(long months)

minusWeeks

public ZonedDateTime minusWeeks(long weeks)

minusDays

public ZonedDateTime minusDays(long days)

minusHours

public ZonedDateTime minusHours(long hours)

minusMinutes

public ZonedDateTime minusMinutes(long minutes)

minusSeconds

public ZonedDateTime minusSeconds(long seconds)

minusNanos

public ZonedDateTime minusNanos(long nanos)

until

public long until(Temporal endExclusive, TemporalUnit unit)
The whole units of unit from this value to endExclusive: date units on the wall clock of this zone, time units on the time line.

format

public String format(DateTimeFormatter formatter)

compareTo

public int compareTo(ChronoZonedDateTime<?> other)
Compares this object to the specified object to determine their relative order.

Parameters

other ChronoZonedDateTime<?>
the object to compare to this instance.

Returns

a negative integer if this instance is less than another; a positive integer if this instance is greater than another; 0 if this instance has the same order as another.

Throws

ClassCastException
if another cannot be converted into something comparable to this instance.

equals

public boolean equals(Object obj)
Indicates whether some other object is “equal to” this one. The equals method implements an equivalence relation: It is reflexive: for any reference value x, x.equals(x) should return true. It is symmetric: for any reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: for any reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true. It is consistent: for any reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the object is modified. For any non-null reference value x, x.equals(null) should return false. The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any reference values x and y, this method returns true if and only if x and y refer to the same object (x==y has the value true).

hashCode

public int hashCode()
Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable. The general contract of hashCode is: Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result. It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables. As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)

toString

public String toString()
The JDK’s text: the date and time, the offset, and the zone in brackets when it is a region rather than the offset itself.