Class ZonedDateTime

java.lang.Object
java.time.ZonedDateTime
All Implemented Interfaces:
Comparable<ChronoZonedDateTime<?>>, ChronoZonedDateTime<LocalDate>, Temporal, TemporalAccessor

public final class ZonedDateTime extends Object implements ChronoZonedDateTime<LocalDate>

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.

  • 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()
      Description copied from interface: ChronoZonedDateTime
      The date and time on the wall clock.
      Specified by:
      toLocalDateTime in interface ChronoZonedDateTime<LocalDate>
    • toLocalDate

      public LocalDate toLocalDate()
      Description copied from interface: ChronoZonedDateTime
      The date.
      Specified by:
      toLocalDate in interface ChronoZonedDateTime<LocalDate>
    • toLocalTime

      public LocalTime toLocalTime()
      Description copied from interface: ChronoZonedDateTime
      The time of day.
      Specified by:
      toLocalTime in interface ChronoZonedDateTime<LocalDate>
    • getZone

      public ZoneId getZone()
      Description copied from interface: ChronoZonedDateTime
      The zone.
      Specified by:
      getZone in interface ChronoZonedDateTime<LocalDate>
    • getOffset

      public ZoneOffset getOffset()
      Description copied from interface: ChronoZonedDateTime
      The offset from UTC.
      Specified by:
      getOffset in interface ChronoZonedDateTime<LocalDate>
    • toInstant

      public Instant toInstant()
      Description copied from interface: ChronoZonedDateTime
      The moment this is.
      Specified by:
      toInstant in interface ChronoZonedDateTime<LocalDate>
    • toEpochSecond

      public long toEpochSecond()
      Description copied from interface: ChronoZonedDateTime
      The seconds since 1970-01-01T00:00Z.
      Specified by:
      toEpochSecond in interface ChronoZonedDateTime<LocalDate>
    • 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)
      Description copied from interface: Temporal
      Whether this value can add or subtract unit.
      Specified by:
      isSupported in interface Temporal
    • plus

      public ZonedDateTime plus(long amountToAdd, TemporalUnit unit)
      Description copied from interface: Temporal
      This value moved forward by amountToAdd of unit.
      Specified by:
      plus in interface Temporal
    • minus

      public ZonedDateTime minus(long amountToSubtract, TemporalUnit unit)
      Description copied from interface: Temporal
      This value moved back by amountToSubtract of unit.
      Specified by:
      minus in interface Temporal
    • plus

      public ZonedDateTime plus(TemporalAmount amount)
      Description copied from interface: Temporal
      This value moved forward by amount.
      Specified by:
      plus in interface Temporal
    • minus

      public ZonedDateTime minus(TemporalAmount amount)
      Description copied from interface: Temporal
      This value moved back by amount.
      Specified by:
      minus in interface Temporal
    • 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.
      Specified by:
      until in interface Temporal
    • format

      public String format(DateTimeFormatter formatter)
    • compareTo

      public int compareTo(ChronoZonedDateTime<?> other)
      Description copied from interface: Comparable

      Compares this object to the specified object to determine their relative order.

      Parameters
      • another: the object to compare to this instance.
      Returns
      Specified by:
      compareTo in interface Comparable<ChronoZonedDateTime<?>>
      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: @throws ClassCastException if another cannot be converted into something comparable to this instance.
    • equals

      public boolean equals(Object obj)
      Description copied from class: Object
      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).
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Description copied from class: Object
      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.)
      Overrides:
      hashCode in class Object
    • 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.
      Overrides:
      toString in class Object