DateTimeExtensions (Groovy 2.5.0)
Date: 2018-05-27

org.apache.groovy.datetime.extensions

## Class DateTimeExtensions

- java.lang.Object
- - org.apache.groovy.datetime.extensions.DateTimeExtensions

-     public class DateTimeExtensions
      extends java.lang.Object

  This class defines new Groovy methods which appear on normal JDK Date/Time API (java.time) classes inside the Groovy environment. These extensions require JDK 8 or above.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.time.LocalDateTime` | `clearTime(java.time.LocalDateTime self)` Returns a `LocalDateTime` with the time portion cleared.
    `static java.time.OffsetDateTime` | `clearTime(java.time.OffsetDateTime self)` Returns an `OffsetDateTime` with the time portion cleared.
    `static java.time.ZonedDateTime` | `clearTime(java.time.ZonedDateTime self)` Returns an `ZonedDateTime` with the time portion cleared.
    `static java.time.Duration` | `div(java.time.Duration self, long scalar)` Supports the division operator; equivalent to calling the `Duration.dividedBy(long)` method.
    `static void` | `downto(java.time.temporal.Temporal from, java.time.temporal.Temporal to, Closure closure)` Iterates from this to the `to` `Temporal`, inclusive, decrementing by one unit each iteration, calling the closure once per iteration.
    `static void` | `downto(java.time.temporal.Temporal from, java.time.temporal.Temporal to, java.time.temporal.TemporalUnit unit, Closure closure)` Iterates from this to the `to` `Temporal`, inclusive, decrementing by one `unit` each iteration, calling the closure once per iteration.
    `static java.lang.String` | `format(java.time.LocalDate self, java.time.format.FormatStyle dateStyle)` Formats this date in the provided, localized `FormatStyle`.
    `static java.lang.String` | `format(java.time.LocalDate self, java.lang.String pattern)` Formats this date with the provided `DateTimeFormatter` pattern.
    `static java.lang.String` | `format(java.time.LocalDateTime self, java.time.format.FormatStyle dateTimeStyle)` Formats this date/time in the provided, localized `FormatStyle`.
    `static java.lang.String` | `format(java.time.LocalDateTime self, java.lang.String pattern)` Formats this date/time with the provided `DateTimeFormatter` pattern.
    `static java.lang.String` | `format(java.time.LocalTime self, java.time.format.FormatStyle timeStyle)` Formats this time in the provided, localized `FormatStyle`.
    `static java.lang.String` | `format(java.time.LocalTime self, java.lang.String pattern)` Formats this time with the provided `DateTimeFormatter` pattern.
    `static java.lang.String` | `format(java.time.OffsetDateTime self, java.time.format.FormatStyle dateTimeStyle)` Formats this date/time in the provided, localized `FormatStyle`.
    `static java.lang.String` | `format(java.time.OffsetDateTime self, java.lang.String pattern)` Formats this date/time with the provided `DateTimeFormatter` pattern.
    `static java.lang.String` | `format(java.time.OffsetTime self, java.time.format.FormatStyle timeStyle)` Formats this time in the provided, localized `FormatStyle`.
    `static java.lang.String` | `format(java.time.OffsetTime self, java.lang.String pattern)` Formats this time with the provided `DateTimeFormatter` pattern.
    `static java.lang.String` | `format(java.time.ZonedDateTime self, java.time.format.FormatStyle dateTimeStyle)` Formats this date/time in the provided, localized `FormatStyle`.
    `static java.lang.String` | `format(java.time.ZonedDateTime self, java.lang.String pattern)` Formats this date/time with the provided `DateTimeFormatter` pattern.
    `static long` | `getAt(java.time.temporal.TemporalAccessor self, java.time.temporal.TemporalField field)` Supports the getAt operator; equivalent to calling the `TemporalAccessor.getLong(java.time.temporal.TemporalField)` method.
    `static long` | `getAt(java.time.temporal.TemporalAmount self, java.time.temporal.TemporalUnit unit)` Supports the getAt operator; equivalent to calling the `TemporalAmount.get(TemporalUnit)` method.
    `static long` | `getAt(java.time.ZoneOffset self, java.time.temporal.TemporalField field)` Supports the getAt operator; equivalent to calling the `ZoneOffset.getLong(java.time.temporal.TemporalField)` method.
    `static java.lang.String` | `getDateString(java.time.LocalDate self)` Formats this date with the `DateTimeFormatter.ISO_LOCAL_DATE` formatter.
    `static java.lang.String` | `getDateString(java.time.LocalDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_DATE` formatter.
    `static java.lang.String` | `getDateString(java.time.OffsetDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_OFFSET_DATE` formatter.
    `static java.lang.String` | `getDateString(java.time.ZonedDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_DATE` formatter and appends the zone's short name, e.g.
    `static java.lang.String` | `getDateTimeString(java.time.LocalDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_DATE_TIME` formatter.
    `static java.lang.String` | `getDateTimeString(java.time.OffsetDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_OFFSET_DATE_TIME` formatter.
    `static java.lang.String` | `getDateTimeString(java.time.ZonedDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_DATE_TIME` formatter and appends the zone's short name, e.g.
    `static int` | `getEra(java.time.Year self)` Equivalent to calling the `Year.get(java.time.temporal.TemporalField)` method with a `ChronoField.ERA` argument.
    `static java.lang.String` | `getFullName(java.time.ZoneId self)` Returns the name of this zone formatted according to the `TextStyle.FULL` text style.
    `static java.lang.String` | `getFullName(java.time.ZoneId self, java.util.Locale locale)` Returns the name of this zone formatted according to the `TextStyle.FULL` text style for the provided `Locale`.
    `static int` | `getHours(java.time.ZoneOffset self)` Returns the hours component of this offset.
    `static int` | `getMinutes(java.time.ZoneOffset self)` Returns the minutes component of this offset.
    `static java.time.ZoneOffset` | `getOffset(java.time.ZoneId self)` Returns a `ZoneOffset` for this zone as of now.
    `static java.time.ZoneOffset` | `getOffset(java.time.ZoneId self, java.time.Instant instant)` Returns a `ZoneOffset` for this zone as of the provided `Instant`.
    `static int` | `getSeconds(java.time.ZoneOffset self)` Returns the seconds component of this offset.
    `static java.lang.String` | `getShortName(java.time.ZoneId self)` Returns the name of this zone formatted according to the `TextStyle.SHORT` text style.
    `static java.lang.String` | `getShortName(java.time.ZoneId self, java.util.Locale locale)` Returns the name of this zone formatted according to the `TextStyle.SHORT` text style for the provided `Locale`.
    `static java.lang.String` | `getTimeString(java.time.LocalDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_TIME` formatter.
    `static java.lang.String` | `getTimeString(java.time.LocalTime self)` Formats this time with the `DateTimeFormatter.ISO_LOCAL_TIME` formatter.
    `static java.lang.String` | `getTimeString(java.time.OffsetDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_OFFSET_TIME` formatter.
    `static java.lang.String` | `getTimeString(java.time.OffsetTime self)` Formats this time with the `DateTimeFormatter.ISO_OFFSET_TIME` formatter.
    `static java.lang.String` | `getTimeString(java.time.ZonedDateTime self)` Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_TIME` formatter and appends the zone's short name, e.g.
    `static int` | `getYearOfEra(java.time.Year self)` Equivalent to calling the `Year.get(java.time.temporal.TemporalField)` method with a `ChronoField.YEAR_OF_ERA` argument.
    `static java.time.ZoneId` | `getZoneId(java.util.Calendar self)` Returns the Time Zone of the Calendar as a java.time.ZoneId.
    `static java.time.ZoneId` | `getZoneId(java.util.Date self)` Returns the Time Zone of the Date as a `ZoneId`.
    `static java.time.ZoneOffset` | `getZoneOffset(java.util.Calendar self)` Returns the Time Zone offset of the Calendar as a `ZoneOffset`.
    `static java.time.ZoneOffset` | `getZoneOffset(java.util.Date self)` Returns the Time Zone offset of the Date as a `ZoneOffset`, which will typically be system's default offset.
    `static boolean` | `isNonnegative(java.time.chrono.ChronoPeriod self)` Returns true if this period is zero or positive.
    `static boolean` | `isNonnegative(java.time.Duration self)` Returns true if this duration is zero or positive.
    `static boolean` | `isNonpositive(java.time.chrono.ChronoPeriod self)` Returns true if this period is zero or negative.
    `static boolean` | `isNonpositive(java.time.Duration self)` Returns true if this duration is zero or negative.
    `static boolean` | `isPositive(java.time.chrono.ChronoPeriod self)` Returns true if this period is positive, excluding zero.
    `static boolean` | `isPositive(java.time.Duration self)` Returns true if this duration is positive, excluding zero.
    `static boolean` | `isWeekday(java.time.DayOfWeek self)` Returns `true` if the DayOfWeek is a weekday.
    `static boolean` | `isWeekend(java.time.DayOfWeek self)` Returns `true` if this day of the week is a weekend day (Saturday or Sunday).
    `static java.time.LocalDateTime` | `leftShift(java.time.LocalDate self, java.time.LocalTime time)` Returns a `LocalDateTime` from this date and the provided `LocalTime`.
    `static java.time.OffsetDateTime` | `leftShift(java.time.LocalDate self, java.time.OffsetTime time)` Returns a `OffsetDateTime` from this date and the provided `OffsetTime`.
    `static java.time.ZonedDateTime` | `leftShift(java.time.LocalDateTime self, java.time.ZoneId zone)` Returns a `OffsetDateTime` of this date/time and the provided `ZoneId`.
    `static java.time.OffsetDateTime` | `leftShift(java.time.LocalDateTime self, java.time.ZoneOffset offset)` Returns an `OffsetDateTime` of this date/time and the provided `ZoneOffset`.
    `static java.time.LocalDateTime` | `leftShift(java.time.LocalTime self, java.time.LocalDate date)` Returns a `LocalDateTime` of this time and the provided `LocalDate`.
    `static java.time.OffsetTime` | `leftShift(java.time.LocalTime self, java.time.ZoneOffset offset)` Returns an `OffsetTime` of this time and the provided `ZoneOffset`.
    `static java.time.LocalDate` | `leftShift(java.time.MonthDay self, int year)` Returns a `LocalDate` of this month/day and the provided year.
    `static java.time.LocalDate` | `leftShift(java.time.MonthDay self, java.time.Year year)` Returns a `LocalDate` of this month/day and the provided `Year`.
    `static java.time.MonthDay` | `leftShift(java.time.Month self, int dayOfMonth)` Creates a `MonthDay` at the provided day of the month.
    `static java.time.YearMonth` | `leftShift(java.time.Month self, java.time.Year year)` Creates a `YearMonth` at the provided `Year`.
    `static java.time.OffsetDateTime` | `leftShift(java.time.OffsetTime self, java.time.LocalDate date)` Returns an `OffsetDateTime` of this time and the provided `LocalDate`.
    `static java.time.YearMonth` | `leftShift(java.time.Year self, java.time.Month month)` Returns a `YearMonth` of this year and the provided `Month`.
    `static java.time.LocalDate` | `leftShift(java.time.Year self, java.time.MonthDay monthDay)` Returns a `LocalDate` of this year on the given `MonthDay`.
    `static java.time.LocalDate` | `leftShift(java.time.YearMonth self, int dayOfMonth)` Returns a `LocalDate` of this year/month and the given day of the month.
    `static java.time.ZonedDateTime` | `leftShift(java.time.ZoneId self, java.time.LocalDateTime dateTime)` Returns a `ZonedDateTime` of this zone and the given `LocalDateTime`.
    `static java.time.OffsetDateTime` | `leftShift(java.time.ZoneOffset self, java.time.LocalDateTime dateTime)` Returns an `OffsetDateTime` of this offset and the provided `LocalDateTime`.
    `static java.time.OffsetTime` | `leftShift(java.time.ZoneOffset self, java.time.LocalTime time)` Returns an `OffsetDateTime` of this offset and the provided `LocalTime`.
    `static java.time.DayOfWeek` | `minus(java.time.DayOfWeek self, int days)` Returns the `DayOfWeek` that is `days` many days before this day of the week.
    `static java.time.Duration` | `minus(java.time.Duration self, long seconds)` Returns a `Duration` that is `seconds` seconds shorter that this duration.
    `static java.time.Instant` | `minus(java.time.Instant self, long seconds)` Returns an `Instant` that is `seconds` seconds before this instant.
    `static java.time.LocalDate` | `minus(java.time.LocalDate self, long days)` Returns a `LocalDate` that is `days` days before this date.
    `static java.time.LocalDateTime` | `minus(java.time.LocalDateTime self, long seconds)` Returns a `LocalDateTime` that is `seconds` seconds before this date/time.
    `static java.time.LocalTime` | `minus(java.time.LocalTime self, long seconds)` Returns a `LocalTime` that is `seconds` seconds before this time.
    `static java.time.Month` | `minus(java.time.Month self, int months)` Returns the `Month` that is `months` months before this month.
    `static java.time.OffsetDateTime` | `minus(java.time.OffsetDateTime self, long seconds)` Returns an `OffsetDateTime` that is `seconds` seconds before this date/time.
    `static java.time.OffsetTime` | `minus(java.time.OffsetTime self, long seconds)` Returns an `OffsetTime` that is `seconds` seconds before this time.
    `static java.time.Period` | `minus(java.time.Period self, long days)` Returns a `Period` that is `days` days shorter than this period.
    `static java.time.Year` | `minus(java.time.Year self, long years)` Returns a `Year` that is `years` years before this year.
    `static java.time.YearMonth` | `minus(java.time.YearMonth self, long months)` Returns a `YearMonth` that is `months` months before this year/month.
    `static java.time.ZonedDateTime` | `minus(java.time.ZonedDateTime self, long seconds)` Returns a `ZonedDateTime` that is `seconds` seconds before this date/time.
    `static java.time.Duration` | `multiply(java.time.Duration self, long scalar)` Supports the multiplication operator; equivalent to calling the `Duration.multipliedBy(long)` method.
    `static java.time.Period` | `multiply(java.time.Period self, int scalar)` Supports the multiply operator; equivalent to calling the `Period.multipliedBy(int)` method.
    `static java.time.Duration` | `negative(java.time.Duration self)` Supports the unary minus operator; equivalent to calling the `Duration.negated()` method.
    `static java.time.Period` | `negative(java.time.Period self)` Supports the unary minus operator; equivalent to calling the `Period.negated()` method.
    `static java.time.Duration` | `next(java.time.Duration self)` Returns a `Duration` that is one second longer than this duration.
    `static java.time.Instant` | `next(java.time.Instant self)` Returns an `Instant` that is one second after this instant.
    `static java.time.LocalDate` | `next(java.time.LocalDate self)` Returns a `LocalDate` one day after this date.
    `static java.time.LocalDateTime` | `next(java.time.LocalDateTime self)` Returns a `LocalDateTime` that is one second after this date/time.
    `static java.time.LocalTime` | `next(java.time.LocalTime self)` Returns a `LocalTime` that is one second after this time.
    `static java.time.OffsetDateTime` | `next(java.time.OffsetDateTime self)` Returns an `OffsetDateTime` one second after this date/time.
    `static java.time.OffsetTime` | `next(java.time.OffsetTime self)` Returns an `OffsetTime` that is one second after this time.
    `static java.time.Period` | `next(java.time.Period self)` Returns a `Period` that is one day longer than this period.
    `static java.time.Year` | `next(java.time.Year self)` Returns a `Year` after this year.
    `static java.time.YearMonth` | `next(java.time.YearMonth self)` Returns a `YearMonth` that is the month after this year/month.
    `static java.time.ZonedDateTime` | `next(java.time.ZonedDateTime self)` Returns a `ZonedDateTime` that is one second after this date/time.
    `static java.time.DayOfWeek` | `plus(java.time.DayOfWeek self, int days)` Returns the `DayOfWeek` that is `days` many days after this day of the week.
    `static java.time.Duration` | `plus(java.time.Duration self, long seconds)` Returns a `Duration` that is `seconds` seconds longer than this duration.
    `static java.time.Instant` | `plus(java.time.Instant self, long seconds)` Returns an `Instant` that is `seconds` seconds after this instant.
    `static java.time.LocalDate` | `plus(java.time.LocalDate self, long days)` Returns a `LocalDate` that is `days` days after this date.
    `static java.time.LocalDateTime` | `plus(java.time.LocalDateTime self, long seconds)` Returns a `LocalDateTime` that is `seconds` seconds after this date/time.
    `static java.time.LocalTime` | `plus(java.time.LocalTime self, long seconds)` Returns a `LocalTime` that is `seconds` seconds after this time.
    `static java.time.Month` | `plus(java.time.Month self, int months)` Returns the `Month` that is `months` months after this month.
    `static java.time.OffsetDateTime` | `plus(java.time.OffsetDateTime self, long seconds)` Returns an `OffsetDateTime` that is `seconds` seconds after this date/time.
    `static java.time.OffsetTime` | `plus(java.time.OffsetTime self, long seconds)` Returns an `OffsetTime` that is `seconds` seconds after this time.
    `static java.time.Period` | `plus(java.time.Period self, long days)` Returns a `Period` that is `days` days longer than this period.
    `static java.time.Year` | `plus(java.time.Year self, long years)` Returns a `Year` that is `years` years after this year.
    `static java.time.YearMonth` | `plus(java.time.YearMonth self, long months)` Returns a `YearMonth` that is `months` months after this year/month.
    `static java.time.ZonedDateTime` | `plus(java.time.ZonedDateTime self, long seconds)` Returns a `ZonedDateTime` that is `seconds` seconds after this date/time.
    `static java.time.Duration` | `positive(java.time.Duration self)` Supports the unary plus operator; equivalent to calling the `Duration.abs()` method.
    `static java.time.Period` | `positive(java.time.Period self)` Supports the unary plus operator; returns a `Period` with all unit values positive.
    `static java.time.Duration` | `previous(java.time.Duration self)` Returns a `Duration` that is one second shorter than this duration.
    `static java.time.Instant` | `previous(java.time.Instant self)` Returns an `Instant` that one second before this instant.
    `static java.time.LocalDate` | `previous(java.time.LocalDate self)` Returns a `LocalDate` one day before this date.
    `static java.time.LocalDateTime` | `previous(java.time.LocalDateTime self)` Returns a `LocalDateTime` that is one second before this date/time.
    `static java.time.LocalTime` | `previous(java.time.LocalTime self)` Returns a `LocalTime` that is one second before this time.
    `static java.time.OffsetDateTime` | `previous(java.time.OffsetDateTime self)` Returns an `OffsetDateTime` one second before this date/time.
    `static java.time.OffsetTime` | `previous(java.time.OffsetTime self)` Returns an `OffsetTime` that is one second before this time.
    `static java.time.Period` | `previous(java.time.Period self)` Returns a `Period` that is one day shorter than this period.
    `static java.time.Year` | `previous(java.time.Year self)` Returns a `Year` before this year.
    `static java.time.YearMonth` | `previous(java.time.YearMonth self)` Returns a `YearMonth` that is the month before this year/month.
    `static java.time.ZonedDateTime` | `previous(java.time.ZonedDateTime self)` Returns a `ZonedDateTime` that is one second before this date/time.
    `static java.time.Period` | `rightShift(java.time.LocalDate self, java.time.LocalDate other)` Returns a `Period` equivalent to the time between this date (inclusive) and the provided `LocalDate` (exclusive).
    `static java.time.temporal.TemporalAmount` | `rightShift(java.time.temporal.Temporal self, java.time.temporal.Temporal other)` Returns a `Duration` or `Period` between this (inclusive) and the `other` `Temporal` (exclusive).
    `static java.time.Period` | `rightShift(java.time.YearMonth self, java.time.YearMonth other)` Returns a `Period` of time between the first day of this year/month (inclusive) and the given `YearMonth` (exclusive).
    `static java.time.Period` | `rightShift(java.time.Year self, java.time.Year year)` Returns a `Period` between the first day of this year (inclusive) and the first day of the provided `Year` (exclusive).
    `static java.util.Calendar` | `toCalendar(java.time.Instant self)` Returns a generally equivalent `Calendar` in the GMT time zone, truncated to milliseconds.
    `static java.util.Calendar` | `toCalendar(java.time.LocalDate self)` Returns an equivalent instance of `Calendar`.
    `static java.util.Calendar` | `toCalendar(java.time.LocalDateTime self)` Returns a generally equivalent instance of `Calendar`.
    `static java.util.Calendar` | `toCalendar(java.time.LocalTime self)` Returns a generally equivalent instance of `Calendar`.
    `static java.util.Calendar` | `toCalendar(java.time.OffsetDateTime self)` Returns a generally equivalent instance of `Calendar`.
    `static java.util.Calendar` | `toCalendar(java.time.OffsetTime self)` Returns a generally equivalent instance of `Calendar`.
    `static java.util.Calendar` | `toCalendar(java.time.ZonedDateTime self)` Returns a generally equivalent instance of `Calendar`.
    `static java.util.Date` | `toDate(java.time.Instant self)` Returns a generally equivalent `Date` according the number of milliseconds since the epoch, adjusted into the system default time zone.
    `static java.util.Date` | `toDate(java.time.LocalDate self)` Returns an equivalent instance of `Date`.
    `static java.util.Date` | `toDate(java.time.LocalDateTime self)` Returns a generally equivalent instance of `Date`.
    `static java.util.Date` | `toDate(java.time.LocalTime self)` Returns a generally equivalent instance of `Date`.
    `static java.util.Date` | `toDate(java.time.OffsetDateTime self)` Returns a generally equivalent instance of `Date`.
    `static java.util.Date` | `toDate(java.time.OffsetTime self)` Returns a generally equivalent instance of `Date`.
    `static java.util.Date` | `toDate(java.time.ZonedDateTime self)` Returns a generally equivalent instance of `Date`.
    `static java.time.DayOfWeek` | `toDayOfWeek(java.util.Calendar self)` Converts the Calendar to a corresponding `DayOfWeek`.
    `static java.time.DayOfWeek` | `toDayOfWeek(java.util.Date self)` Converts the Date to a corresponding `DayOfWeek`.
    `static java.time.Instant` | `toInstant(java.util.Calendar self)` Convenience method for converting a Calendar to a corresponding `Instant`.
    `static java.time.LocalDate` | `toLocalDate(java.util.Date self)` Converts the Date to a corresponding `LocalDate`.
    `static java.time.LocalDateTime` | `toLocalDateTime(java.util.Calendar self)` Converts the Calendar to a corresponding `LocalDateTime`.
    `static java.time.LocalDateTime` | `toLocalDateTime(java.util.Date self)` Converts the Date to a corresponding `LocalDateTime`.
    `static java.time.LocalTime` | `toLocalTime(java.util.Calendar self)` Converts the Calendar to a corresponding `LocalTime`.
    `static java.time.LocalTime` | `toLocalTime(java.util.Date self)` Converts the Date to a corresponding `LocalTime`.
    `static java.time.Month` | `toMonth(java.util.Calendar self)` Converts the Calendar to a corresponding `Month`.
    `static java.time.Month` | `toMonth(java.util.Date self)` Converts the Date to a corresponding `Month`.
    `static java.time.MonthDay` | `toMonthDay(java.util.Calendar self)` Converts the Calendar to a corresponding `MonthDay`.
    `static java.time.MonthDay` | `toMonthDay(java.util.Date self)` Converts the Date to a corresponding `MonthDay`.
    `static java.time.OffsetDateTime` | `toOffsetDateTime(java.util.Calendar self)` Converts the Calendar to a corresponding `OffsetDateTime`.
    `static java.time.OffsetDateTime` | `toOffsetDateTime(java.util.Date self)` Converts the Date to a corresponding `OffsetDateTime`.
    `static java.time.OffsetTime` | `toOffsetTime(java.util.Calendar self)` Converts the Calendar to a corresponding `OffsetTime`.
    `static java.time.OffsetTime` | `toOffsetTime(java.util.Date self)` Converts the Date to a corresponding `OffsetTime`.
    `static java.util.TimeZone` | `toTimeZone(java.time.ZoneId self)` Returns a `TimeZone` equivalent to this zone.
    `static java.util.TimeZone` | `toTimeZone(java.time.ZoneOffset self)` Returns a generally equivalent `TimeZone`.
    `static java.time.Year` | `toYear(java.util.Calendar self)` Converts the Calendar to a corresponding `Year`.
    `static java.time.Year` | `toYear(java.util.Date self)` Converts the Date to a corresponding `Year`.
    `static java.time.YearMonth` | `toYearMonth(java.util.Calendar self)` Converts the Calendar to a corresponding `YearMonth`.
    `static java.time.YearMonth` | `toYearMonth(java.util.Date self)` Converts the Date to a corresponding `YearMonth`.
    `static java.time.ZonedDateTime` | `toZonedDateTime(java.util.Calendar self)` Converts the Calendar to a corresponding `ZonedDateTime`.
    `static java.time.ZonedDateTime` | `toZonedDateTime(java.util.Date self)` Converts the Date to a corresponding `ZonedDateTime`.
    `static java.time.ZoneOffset` | `toZoneOffset(java.util.TimeZone self)` Converts the TimeZone to a corresponding `ZoneOffset`.
    `static java.time.ZoneOffset` | `toZoneOffset(java.util.TimeZone self, java.time.Instant instant)` Converts this TimeZone to a corresponding `ZoneOffset`.
    `static void` | `upto(java.time.temporal.Temporal from, java.time.temporal.Temporal to, Closure closure)` Iterates from this to the `to` `Temporal`, inclusive, incrementing by one unit each iteration, calling the closure once per iteration.
    `static void` | `upto(java.time.temporal.Temporal from, java.time.temporal.Temporal to, java.time.temporal.TemporalUnit unit, Closure closure)` Iterates from this to the `to` `Temporal`, inclusive, incrementing by one `unit` each iteration, calling the closure once per iteration.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### upto

          public static void upto(java.time.temporal.Temporal from,
                                  java.time.temporal.Temporal to,
                                  Closure closure)

      Iterates from this to the `to` `Temporal`, inclusive, incrementing by one unit each iteration, calling the closure once per iteration. The closure may accept a single `Temporal` argument.

      The particular unit incremented by depends on the specific sub-type of `Temporal`. Most sub-types use a unit of `ChronoUnit.SECONDS` except for

      - `ChronoLocalDate` and its sub-types use `ChronoUnit.DAYS`.
      - `YearMonth` uses `ChronoUnit.MONTHS`.
      - `Year` uses `ChronoUnit.YEARS`.
      Parameters:
        `from` - the starting Temporal
        `to` - the ending Temporal
        `closure` - the zero or one-argument closure to call
      Throws:
        `GroovyRuntimeException` - if this value is later than `to`
        `GroovyRuntimeException` - if `to` is a different type than this
      Since:
        2.5.0

    - #### upto

          public static void upto(java.time.temporal.Temporal from,
                                  java.time.temporal.Temporal to,
                                  java.time.temporal.TemporalUnit unit,
                                  Closure closure)

      Iterates from this to the `to` `Temporal`, inclusive, incrementing by one `unit` each iteration, calling the closure once per iteration. The closure may accept a single `Temporal` argument.

      If the unit is too large to iterate to the second Temporal exactly, such as iterating from two LocalDateTimes that are seconds apart using `ChronoUnit.DAYS` as the unit, the iteration will cease as soon as the current value of the iteration is later than the second Temporal argument. The closure will not be called with any value later than the `to` value.

      Parameters:
        `from` - the starting Temporal
        `to` - the ending Temporal
        `unit` - the TemporalUnit to increment by
        `closure` - the zero or one-argument closure to call
      Throws:
        `GroovyRuntimeException` - if this value is later than `to`
        `GroovyRuntimeException` - if `to` is a different type than this
      Since:
        2.5.0

    - #### downto

          public static void downto(java.time.temporal.Temporal from,
                                    java.time.temporal.Temporal to,
                                    Closure closure)

      Iterates from this to the `to` `Temporal`, inclusive, decrementing by one unit each iteration, calling the closure once per iteration. The closure may accept a single `Temporal` argument.

      The particular unit decremented by depends on the specific sub-type of `Temporal`. Most sub-types use a unit of `ChronoUnit.SECONDS` except for

      - `ChronoLocalDate` and its sub-types use `ChronoUnit.DAYS`.
      - `YearMonth` uses `ChronoUnit.MONTHS`.
      - `Year` uses `ChronoUnit.YEARS`.
      Parameters:
        `from` - the starting Temporal
        `to` - the ending Temporal
        `closure` - the zero or one-argument closure to call
      Throws:
        `GroovyRuntimeException` - if this value is earlier than `to`
        `GroovyRuntimeException` - if `to` is a different type than this
      Since:
        2.5.0

    - #### downto

          public static void downto(java.time.temporal.Temporal from,
                                    java.time.temporal.Temporal to,
                                    java.time.temporal.TemporalUnit unit,
                                    Closure closure)

      Iterates from this to the `to` `Temporal`, inclusive, decrementing by one `unit` each iteration, calling the closure once per iteration. The closure may accept a single `Temporal` argument.

      If the unit is too large to iterate to the second Temporal exactly, such as iterating from two LocalDateTimes that are seconds apart using `ChronoUnit.DAYS` as the unit, the iteration will cease as soon as the current value of the iteration is earlier than the second Temporal argument. The closure will not be called with any value earlier than the `to` value.

      Parameters:
        `from` - the starting Temporal
        `to` - the ending Temporal
        `unit` - the TemporalUnit to increment by
        `closure` - the zero or one-argument closure to call
      Throws:
        `GroovyRuntimeException` - if this value is earlier than `to`
        `GroovyRuntimeException` - if `to` is a different type than this
      Since:
        2.5.0

    - #### rightShift

          public static java.time.temporal.TemporalAmount rightShift(java.time.temporal.Temporal self,
                                                                     java.time.temporal.Temporal other)

      Returns a `Duration` or `Period` between this (inclusive) and the `other` `Temporal` (exclusive).

      A Period will be returned for types `Year`, `YearMonth`, and `ChronoLocalDate`; otherwise, a Duration will be returned.

      Note: if the Temporal is a ChronoLocalDate but not a `LocalDate`, a general `ChronoPeriod` will be returned as per the return type of the method `ChronoLocalDate.until(ChronoLocalDate)` .

      Parameters:
        `self` - a Temporal
        `other` - another Temporal of the same type
      Returns:
        an TemporalAmount between the two Temporals
      Since:
        2.5.0

    - #### getAt

          public static long getAt(java.time.temporal.TemporalAccessor self,
                                   java.time.temporal.TemporalField field)

      Supports the getAt operator; equivalent to calling the `TemporalAccessor.getLong(java.time.temporal.TemporalField)` method.
      Parameters:
        `self` - a TemporalAccessor
        `field` - a non-null TemporalField
      Returns:
        the value for the field
      Throws:
        `java.time.DateTimeException` - if a value for the field cannot be obtained
        `java.time.temporal.UnsupportedTemporalTypeException` - if the field is not supported
        `java.lang.ArithmeticException` - if numeric overflow occurs
      Since:
        2.5.0

    - #### getAt

          public static long getAt(java.time.temporal.TemporalAmount self,
                                   java.time.temporal.TemporalUnit unit)

      Supports the getAt operator; equivalent to calling the `TemporalAmount.get(TemporalUnit)` method.
      Parameters:
        `self` - a TemporalAmount
        `unit` - a non-null TemporalUnit
      Returns:
        the value for the field
      Throws:
        `java.time.DateTimeException` - if a value for the field cannot be obtained
        `java.time.temporal.UnsupportedTemporalTypeException` - if the field is not supported
        `java.lang.ArithmeticException` - if numeric overflow occurs
      Since:
        2.5.0

    - #### plus

          public static java.time.Duration plus(java.time.Duration self,
                                                long seconds)

      Returns a `Duration` that is `seconds` seconds longer than this duration.
      Parameters:
        `self` - a Duration
        `seconds` - the number of seconds to add
      Returns:
        a Duration
      Since:
        2.5.0

    - #### minus

          public static java.time.Duration minus(java.time.Duration self,
                                                 long seconds)

      Returns a `Duration` that is `seconds` seconds shorter that this duration.
      Parameters:
        `self` - a Duration
        `seconds` - the number of seconds to subtract
      Returns:
        a Duration
      Since:
        2.5.0

    - #### next

          public static java.time.Duration next(java.time.Duration self)

      Returns a `Duration` that is one second longer than this duration.
      Parameters:
        `self` - a Duration
      Returns:
        a Duration
      Since:
        2.5.0

    - #### previous

          public static java.time.Duration previous(java.time.Duration self)

      Returns a `Duration` that is one second shorter than this duration.
      Parameters:
        `self` - a Duration
      Returns:
        a Duration
      Since:
        2.5.0

    - #### negative

          public static java.time.Duration negative(java.time.Duration self)

      Supports the unary minus operator; equivalent to calling the `Duration.negated()` method.
      Parameters:
        `self` - a Duration
      Returns:
        a Duration
      Since:
        2.5.0

    - #### positive

          public static java.time.Duration positive(java.time.Duration self)

      Supports the unary plus operator; equivalent to calling the `Duration.abs()` method.
      Parameters:
        `self` - a Duration
      Returns:
        a Duration
      Since:
        2.5.0

    - #### multiply

          public static java.time.Duration multiply(java.time.Duration self,
                                                    long scalar)

      Supports the multiplication operator; equivalent to calling the `Duration.multipliedBy(long)` method.
      Parameters:
        `self` - a Duration
        `scalar` - the value to multiply by
      Returns:
        a Duration
      Since:
        2.5.0

    - #### div

          public static java.time.Duration div(java.time.Duration self,
                                               long scalar)

      Supports the division operator; equivalent to calling the `Duration.dividedBy(long)` method.
      Parameters:
        `self` - a Duration
        `scalar` - the value to divide by
      Returns:
        a Duration
      Since:
        2.5.0

    - #### isPositive

          public static boolean isPositive(java.time.Duration self)

      Returns true if this duration is positive, excluding zero.
      Parameters:
        `self` - a Duration
      Returns:
        true if positive
      Since:
        2.5.0

    - #### isNonnegative

          public static boolean isNonnegative(java.time.Duration self)

      Returns true if this duration is zero or positive.
      Parameters:
        `self` - a Duration
      Returns:
        true if nonnegative
      Since:
        2.5.0

    - #### isNonpositive

          public static boolean isNonpositive(java.time.Duration self)

      Returns true if this duration is zero or negative.
      Parameters:
        `self` - a Duration
      Returns:
        true if nonpositive
      Since:
        2.5.0

    - #### plus

          public static java.time.Instant plus(java.time.Instant self,
                                               long seconds)

      Returns an `Instant` that is `seconds` seconds after this instant.
      Parameters:
        `self` - an Instant
        `seconds` - the number of seconds to add
      Returns:
        an Instant
      Since:
        2.5.0

    - #### minus

          public static java.time.Instant minus(java.time.Instant self,
                                                long seconds)

      Returns an `Instant` that is `seconds` seconds before this instant.
      Parameters:
        `self` - an Instant
        `seconds` - the number of seconds to subtract
      Returns:
        an Instant
      Since:
        2.5.0

    - #### next

          public static java.time.Instant next(java.time.Instant self)

      Returns an `Instant` that is one second after this instant.
      Parameters:
        `self` - an Instant
      Returns:
        an Instant one second ahead
      Since:
        2.5.0

    - #### previous

          public static java.time.Instant previous(java.time.Instant self)

      Returns an `Instant` that one second before this instant.
      Parameters:
        `self` - an Instant
      Returns:
        an Instant one second behind
      Since:
        2.5.0

    - #### toDate

          public static java.util.Date toDate(java.time.Instant self)

      Returns a generally equivalent `Date` according the number of milliseconds since the epoch, adjusted into the system default time zone.
      Parameters:
        `self` - an Instant
      Returns:
        a Date
      Since:
        2.5.0

    - #### toCalendar

          public static java.util.Calendar toCalendar(java.time.Instant self)

      Returns a generally equivalent `Calendar` in the GMT time zone, truncated to milliseconds.
      Parameters:
        `self` - an Instant
      Returns:
        a Calendar
      Since:
        2.5.0

    - #### format

          public static java.lang.String format(java.time.LocalDate self,
                                                java.lang.String pattern)

      Formats this date with the provided `DateTimeFormatter` pattern.
      Parameters:
        `self` - a LocalDate
        `pattern` - the formatting pattern
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### format

          public static java.lang.String format(java.time.LocalDate self,
                                                java.time.format.FormatStyle dateStyle)

      Formats this date in the provided, localized `FormatStyle`.
      Parameters:
        `self` - a LocalDate
        `dateStyle` - the FormatStyle
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getDateString

          public static java.lang.String getDateString(java.time.LocalDate self)

      Formats this date with the `DateTimeFormatter.ISO_LOCAL_DATE` formatter.
      Parameters:
        `self` - a LocalDate
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### plus

          public static java.time.LocalDate plus(java.time.LocalDate self,
                                                 long days)

      Returns a `LocalDate` that is `days` days after this date.
      Parameters:
        `self` - a LocalDate
        `days` - the number of days to add
      Returns:
        a LocalDate
      Since:
        2.5.0

    - #### minus

          public static java.time.LocalDate minus(java.time.LocalDate self,
                                                  long days)

      Returns a `LocalDate` that is `days` days before this date.
      Parameters:
        `self` - a LocalDate
        `days` - the number of days to subtract
      Returns:
        a LocalDate
      Since:
        2.5.0

    - #### next

          public static java.time.LocalDate next(java.time.LocalDate self)

      Returns a `LocalDate` one day after this date.
      Parameters:
        `self` - a LocalDate
      Returns:
        the next day
      Since:
        2.5.0

    - #### previous

          public static java.time.LocalDate previous(java.time.LocalDate self)

      Returns a `LocalDate` one day before this date.
      Parameters:
        `self` - a LocalDate
      Returns:
        the previous day
      Since:
        2.5.0

    - #### rightShift

          public static java.time.Period rightShift(java.time.LocalDate self,
                                                    java.time.LocalDate other)

      Returns a `Period` equivalent to the time between this date (inclusive) and the provided `LocalDate` (exclusive).
      Parameters:
        `self` - a LocalDate
        `other` - another LocalDate
      Returns:
        a Period representing the time between the two LocalDates
      Since:
        2.5.0

    - #### leftShift

          public static java.time.LocalDateTime leftShift(java.time.LocalDate self,
                                                          java.time.LocalTime time)

      Returns a `LocalDateTime` from this date and the provided `LocalTime`.
      Parameters:
        `self` - a LocalDate
        `time` - a LocalTime
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### leftShift

          public static java.time.OffsetDateTime leftShift(java.time.LocalDate self,
                                                           java.time.OffsetTime time)

      Returns a `OffsetDateTime` from this date and the provided `OffsetTime`.
      Parameters:
        `self` - a LocalDate
        `time` - an OffsetTime
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### toDate

          public static java.util.Date toDate(java.time.LocalDate self)

      Returns an equivalent instance of `Date`. The time portion of the returned date is cleared.
      Parameters:
        `self` - a LocalDate
      Returns:
        a java.util.Date
      Since:
        2.5.0

    - #### toCalendar

          public static java.util.Calendar toCalendar(java.time.LocalDate self)

      Returns an equivalent instance of `Calendar`. The time portion of the returned calendar is cleared and the time zone is the current system default.
      Parameters:
        `self` - a LocalDate
      Returns:
        a java.util.Calendar
      Since:
        2.5.0

    - #### format

          public static java.lang.String format(java.time.LocalDateTime self,
                                                java.lang.String pattern)

      Formats this date/time with the provided `DateTimeFormatter` pattern.
      Parameters:
        `self` - a LocalDateTime
        `pattern` - the formatting pattern
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### format

          public static java.lang.String format(java.time.LocalDateTime self,
                                                java.time.format.FormatStyle dateTimeStyle)

      Formats this date/time in the provided, localized `FormatStyle`.
      Parameters:
        `self` - a LocalDateTime
        `dateTimeStyle` - the FormatStyle
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getDateTimeString

          public static java.lang.String getDateTimeString(java.time.LocalDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_DATE_TIME` formatter.
      Parameters:
        `self` - a LocalDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getDateString

          public static java.lang.String getDateString(java.time.LocalDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_DATE` formatter.
      Parameters:
        `self` - a LocalDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getTimeString

          public static java.lang.String getTimeString(java.time.LocalDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_TIME` formatter.
      Parameters:
        `self` - a LocalDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### clearTime

          public static java.time.LocalDateTime clearTime(java.time.LocalDateTime self)

      Returns a `LocalDateTime` with the time portion cleared.
      Parameters:
        `self` - a LocalDateTime
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### plus

          public static java.time.LocalDateTime plus(java.time.LocalDateTime self,
                                                     long seconds)

      Returns a `LocalDateTime` that is `seconds` seconds after this date/time.
      Parameters:
        `self` - a LocalDateTime
        `seconds` - the number of seconds to add
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### minus

          public static java.time.LocalDateTime minus(java.time.LocalDateTime self,
                                                      long seconds)

      Returns a `LocalDateTime` that is `seconds` seconds before this date/time.
      Parameters:
        `self` - a LocalDateTime
        `seconds` - the number of seconds to subtract
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### next

          public static java.time.LocalDateTime next(java.time.LocalDateTime self)

      Returns a `LocalDateTime` that is one second after this date/time.
      Parameters:
        `self` - a LocalDateTime
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### previous

          public static java.time.LocalDateTime previous(java.time.LocalDateTime self)

      Returns a `LocalDateTime` that is one second before this date/time.
      Parameters:
        `self` - a LocalDateTime
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### leftShift

          public static java.time.OffsetDateTime leftShift(java.time.LocalDateTime self,
                                                           java.time.ZoneOffset offset)

      Returns an `OffsetDateTime` of this date/time and the provided `ZoneOffset`.
      Parameters:
        `self` - a LocalDateTime
        `offset` - a ZoneOffset
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### leftShift

          public static java.time.ZonedDateTime leftShift(java.time.LocalDateTime self,
                                                          java.time.ZoneId zone)

      Returns a `OffsetDateTime` of this date/time and the provided `ZoneId`.
      Parameters:
        `self` - a LocalDateTime
        `zone` - a ZoneId
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### toDate

          public static java.util.Date toDate(java.time.LocalDateTime self)

      Returns a generally equivalent instance of `Date`. The time value of the returned date is truncated to milliseconds.
      Parameters:
        `self` - a LocalDateTime
      Returns:
        a java.util.Date
      Since:
        2.5.0

    - #### toCalendar

          public static java.util.Calendar toCalendar(java.time.LocalDateTime self)

      Returns a generally equivalent instance of `Calendar`. The time value of the returned calendar is truncated to milliseconds and the time zone is the current system default.
      Parameters:
        `self` - a LocalDateTime
      Returns:
        a java.util.Calendar
      Since:
        2.5.0

    - #### format

          public static java.lang.String format(java.time.LocalTime self,
                                                java.lang.String pattern)

      Formats this time with the provided `DateTimeFormatter` pattern.
      Parameters:
        `self` - a LocalDateTime
        `pattern` - the formatting pattern
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### format

          public static java.lang.String format(java.time.LocalTime self,
                                                java.time.format.FormatStyle timeStyle)

      Formats this time in the provided, localized `FormatStyle`.
      Parameters:
        `self` - a LocalTime
        `timeStyle` - the FormatStyle
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getTimeString

          public static java.lang.String getTimeString(java.time.LocalTime self)

      Formats this time with the `DateTimeFormatter.ISO_LOCAL_TIME` formatter.
      Parameters:
        `self` - a LocalTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### plus

          public static java.time.LocalTime plus(java.time.LocalTime self,
                                                 long seconds)

      Returns a `LocalTime` that is `seconds` seconds after this time.
      Parameters:
        `self` - a LocalTime
        `seconds` - the number of seconds to add
      Returns:
        a LocalTime
      Since:
        2.5.0

    - #### minus

          public static java.time.LocalTime minus(java.time.LocalTime self,
                                                  long seconds)

      Returns a `LocalTime` that is `seconds` seconds before this time.
      Parameters:
        `self` - a LocalTime
        `seconds` - the number of seconds to subtract
      Returns:
        a LocalTime
      Since:
        2.5.0

    - #### next

          public static java.time.LocalTime next(java.time.LocalTime self)

      Returns a `LocalTime` that is one second after this time.
      Parameters:
        `self` - a LocalTime
      Returns:
        a LocalTime
      Since:
        2.5.0

    - #### previous

          public static java.time.LocalTime previous(java.time.LocalTime self)

      Returns a `LocalTime` that is one second before this time.
      Parameters:
        `self` - a LocalTime
      Returns:
        a LocalTime
      Since:
        2.5.0

    - #### leftShift

          public static java.time.LocalDateTime leftShift(java.time.LocalTime self,
                                                          java.time.LocalDate date)

      Returns a `LocalDateTime` of this time and the provided `LocalDate`.
      Parameters:
        `self` - a LocalTime
        `date` - a LocalDate
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### leftShift

          public static java.time.OffsetTime leftShift(java.time.LocalTime self,
                                                       java.time.ZoneOffset offset)

      Returns an `OffsetTime` of this time and the provided `ZoneOffset`.
      Parameters:
        `self` - a LocalTime
        `offset` - a ZoneOffset
      Returns:
        an OffsetTime
      Since:
        2.5.0

    - #### toDate

          public static java.util.Date toDate(java.time.LocalTime self)

      Returns a generally equivalent instance of `Date`. The day-month-year value of the returned date is today and the time is truncated to milliseconds.
      Parameters:
        `self` - a LocalTime
      Returns:
        a java.util.Date
      Since:
        2.5.0

    - #### toCalendar

          public static java.util.Calendar toCalendar(java.time.LocalTime self)

      Returns a generally equivalent instance of `Calendar`. The day-month-year value of the returned calendar is today, the time is truncated to milliseconds, and the time zone is the current system default.
      Parameters:
        `self` - a LocalTime
      Returns:
        a java.util.Calendar
      Since:
        2.5.0

    - #### leftShift

          public static java.time.LocalDate leftShift(java.time.MonthDay self,
                                                      int year)

      Returns a `LocalDate` of this month/day and the provided year.
      Parameters:
        `self` - a MonthDay
        `year` - a year
      Returns:
        a LocalDate
      Since:
        2.5.0

    - #### leftShift

          public static java.time.LocalDate leftShift(java.time.MonthDay self,
                                                      java.time.Year year)

      Returns a `LocalDate` of this month/day and the provided `Year`.
      Parameters:
        `self` - a MonthDay
        `year` - a Year
      Returns:
        a LocalDate
      Since:
        2.5.0

    - #### format

          public static java.lang.String format(java.time.OffsetDateTime self,
                                                java.lang.String pattern)

      Formats this date/time with the provided `DateTimeFormatter` pattern.
      Parameters:
        `self` - an OffsetDateTime
        `pattern` - the formatting pattern
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### format

          public static java.lang.String format(java.time.OffsetDateTime self,
                                                java.time.format.FormatStyle dateTimeStyle)

      Formats this date/time in the provided, localized `FormatStyle`.
      Parameters:
        `self` - an OffsetDateTime
        `dateTimeStyle` - the FormatStyle
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getDateTimeString

          public static java.lang.String getDateTimeString(java.time.OffsetDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_OFFSET_DATE_TIME` formatter.
      Parameters:
        `self` - an OffsetDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getDateString

          public static java.lang.String getDateString(java.time.OffsetDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_OFFSET_DATE` formatter.
      Parameters:
        `self` - an OffsetDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getTimeString

          public static java.lang.String getTimeString(java.time.OffsetDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_OFFSET_TIME` formatter.
      Parameters:
        `self` - an OffsetDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### clearTime

          public static java.time.OffsetDateTime clearTime(java.time.OffsetDateTime self)

      Returns an `OffsetDateTime` with the time portion cleared.
      Parameters:
        `self` - an OffsetDateTime
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### plus

          public static java.time.OffsetDateTime plus(java.time.OffsetDateTime self,
                                                      long seconds)

      Returns an `OffsetDateTime` that is `seconds` seconds after this date/time.
      Parameters:
        `self` - an OffsetDateTime
        `seconds` - the number of seconds to add
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### minus

          public static java.time.OffsetDateTime minus(java.time.OffsetDateTime self,
                                                       long seconds)

      Returns an `OffsetDateTime` that is `seconds` seconds before this date/time.
      Parameters:
        `self` - an OffsetDateTime
        `seconds` - the number of seconds to subtract
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### next

          public static java.time.OffsetDateTime next(java.time.OffsetDateTime self)

      Returns an `OffsetDateTime` one second after this date/time.
      Parameters:
        `self` - an OffsetDateTime
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### previous

          public static java.time.OffsetDateTime previous(java.time.OffsetDateTime self)

      Returns an `OffsetDateTime` one second before this date/time.
      Parameters:
        `self` - an OffsetDateTime
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### toDate

          public static java.util.Date toDate(java.time.OffsetDateTime self)

      Returns a generally equivalent instance of `Date`. The time value of the returned date is truncated to milliseconds and will be adjusted to the current system default time zone.
      Parameters:
        `self` - an OffsetDateTime
      Returns:
        a java.util.Date
      Since:
        2.5.0

    - #### toCalendar

          public static java.util.Calendar toCalendar(java.time.OffsetDateTime self)

      Returns a generally equivalent instance of `Calendar`. The time value of the returned calendar is truncated to milliseconds and the time zone is based on the offset of this date/time.
      Parameters:
        `self` - an OffsetDateTime
      Returns:
        a java.util.Calendar
      Since:
        2.5.0

    - #### format

          public static java.lang.String format(java.time.OffsetTime self,
                                                java.lang.String pattern)

      Formats this time with the provided `DateTimeFormatter` pattern.
      Parameters:
        `self` - an OffsetTime
        `pattern` - the formatting pattern
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### format

          public static java.lang.String format(java.time.OffsetTime self,
                                                java.time.format.FormatStyle timeStyle)

      Formats this time in the provided, localized `FormatStyle`.
      Parameters:
        `self` - an OffsetTime
        `timeStyle` - the FormatStyle
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getTimeString

          public static java.lang.String getTimeString(java.time.OffsetTime self)

      Formats this time with the `DateTimeFormatter.ISO_OFFSET_TIME` formatter.
      Parameters:
        `self` - an OffsetTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### plus

          public static java.time.OffsetTime plus(java.time.OffsetTime self,
                                                  long seconds)

      Returns an `OffsetTime` that is `seconds` seconds after this time.
      Parameters:
        `self` - an OffsetTime
        `seconds` - the number of seconds to add
      Returns:
        an OffsetTime
      Since:
        2.5.0

    - #### minus

          public static java.time.OffsetTime minus(java.time.OffsetTime self,
                                                   long seconds)

      Returns an `OffsetTime` that is `seconds` seconds before this time.
      Parameters:
        `self` - an OffsetTime
        `seconds` - the number of seconds to subtract
      Returns:
        an OffsetTime
      Since:
        2.5.0

    - #### next

          public static java.time.OffsetTime next(java.time.OffsetTime self)

      Returns an `OffsetTime` that is one second after this time.
      Parameters:
        `self` - an OffsetTime
      Returns:
        an OffsetTime
      Since:
        2.5.0

    - #### previous

          public static java.time.OffsetTime previous(java.time.OffsetTime self)

      Returns an `OffsetTime` that is one second before this time.
      Parameters:
        `self` - an OffsetTime
      Returns:
        an OffsetTime
      Since:
        2.5.0

    - #### leftShift

          public static java.time.OffsetDateTime leftShift(java.time.OffsetTime self,
                                                           java.time.LocalDate date)

      Returns an `OffsetDateTime` of this time and the provided `LocalDate`.
      Parameters:
        `self` - an OffsetTime
        `date` - a LocalDate
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### toDate

          public static java.util.Date toDate(java.time.OffsetTime self)

      Returns a generally equivalent instance of `Date`. The time value of the returned date is truncated to milliseconds and will be adjusted to the current system default time zone.
      Parameters:
        `self` - an OffsetTime
      Returns:
        a java.util.Date
      Since:
        2.5.0

    - #### toCalendar

          public static java.util.Calendar toCalendar(java.time.OffsetTime self)

      Returns a generally equivalent instance of `Calendar`. The date value of the returned calendar is now, the time value is truncated to milliseconds, and the time zone is based on the offset of this time.
      Parameters:
        `self` - an OffsetTime
      Returns:
        a java.util.Calendar
      Since:
        2.5.0

    - #### plus

          public static java.time.Period plus(java.time.Period self,
                                              long days)

      Returns a `Period` that is `days` days longer than this period. No normalization is performed.
      Parameters:
        `self` - a Period
        `days` - the number of days to increase this Period by
      Returns:
        a Period
      Since:
        2.5.0

    - #### minus

          public static java.time.Period minus(java.time.Period self,
                                               long days)

      Returns a `Period` that is `days` days shorter than this period. No normalization is performed.
      Parameters:
        `self` - a Period
        `days` - the number of days to decrease this Period by
      Returns:
        a Period
      Since:
        2.5.0

    - #### next

          public static java.time.Period next(java.time.Period self)

      Returns a `Period` that is one day longer than this period. No normalization is performed.
      Parameters:
        `self` - a Period
      Returns:
        a Period one day longer in length
      Since:
        2.5.0

    - #### previous

          public static java.time.Period previous(java.time.Period self)

      Returns a `Period` that is one day shorter than this period. No normalization is performed.
      Parameters:
        `self` - a Period
      Returns:
        a Period one day shorter in length
      Since:
        2.5.0

    - #### negative

          public static java.time.Period negative(java.time.Period self)

      Supports the unary minus operator; equivalent to calling the `Period.negated()` method.
      Parameters:
        `self` - a Period
      Returns:
        a negated Period
      Since:
        2.5.0

    - #### positive

          public static java.time.Period positive(java.time.Period self)

      Supports the unary plus operator; returns a `Period` with all unit values positive. For example, a period of "2 years, -3 months, and -4 days" would result in a period of "2 years, 3 months, and 4 days." No normalization is performed.
      Parameters:
        `self` - a Period
      Returns:
        a positive Period
      Since:
        2.5.0

    - #### multiply

          public static java.time.Period multiply(java.time.Period self,
                                                  int scalar)

      Supports the multiply operator; equivalent to calling the `Period.multipliedBy(int)` method.
      Parameters:
        `self` - a Period
        `scalar` - a scalar to multiply each unit by
      Returns:
        a Period
      Since:
        2.5.0

    - #### isPositive

          public static boolean isPositive(java.time.chrono.ChronoPeriod self)

      Returns true if this period is positive, excluding zero.
      Parameters:
        `self` - a ChronoPeriod
      Returns:
        true if positive
      Since:
        2.5.0

    - #### isNonnegative

          public static boolean isNonnegative(java.time.chrono.ChronoPeriod self)

      Returns true if this period is zero or positive.
      Parameters:
        `self` - a ChronoPeriod
      Returns:
        true if nonnegative
      Since:
        2.5.0

    - #### isNonpositive

          public static boolean isNonpositive(java.time.chrono.ChronoPeriod self)

      Returns true if this period is zero or negative.
      Parameters:
        `self` - a ChronoPeriod
      Returns:
        true if nonpositive
      Since:
        2.5.0

    - #### plus

          public static java.time.Year plus(java.time.Year self,
                                            long years)

      Returns a `Year` that is `years` years after this year.
      Parameters:
        `self` - a Year
        `years` - the number of years to add
      Returns:
        a Year
      Since:
        2.5.0

    - #### minus

          public static java.time.Year minus(java.time.Year self,
                                             long years)

      Returns a `Year` that is `years` years before this year.
      Parameters:
        `self` - a Year
        `years` - the number of years to subtract
      Returns:
        a Year
      Since:
        2.5.0

    - #### next

          public static java.time.Year next(java.time.Year self)

      Returns a `Year` after this year.
      Parameters:
        `self` - a Year
      Returns:
        the next Year
      Since:
        2.5.0

    - #### previous

          public static java.time.Year previous(java.time.Year self)

      Returns a `Year` before this year.
      Parameters:
        `self` - a Year
      Returns:
        the previous Year
      Since:
        2.5.0

    - #### rightShift

          public static java.time.Period rightShift(java.time.Year self,
                                                    java.time.Year year)

      Returns a `Period` between the first day of this year (inclusive) and the first day of the provided `Year` (exclusive).
      Parameters:
        `self` - a Year
        `year` - another Year
      Returns:
        a Period between the Years
      Since:
        2.5.0

    - #### leftShift

          public static java.time.YearMonth leftShift(java.time.Year self,
                                                      java.time.Month month)

      Returns a `YearMonth` of this year and the provided `Month`.
      Parameters:
        `self` - a Year
        `month` - a Month
      Returns:
        a YearMonth
      Since:
        2.5.0

    - #### leftShift

          public static java.time.LocalDate leftShift(java.time.Year self,
                                                      java.time.MonthDay monthDay)

      Returns a `LocalDate` of this year on the given `MonthDay`.
      Parameters:
        `self` - a Year
        `monthDay` - a MonthDay
      Returns:
        a LocalDate
      Since:
        2.5.0

    - #### getEra

          public static int getEra(java.time.Year self)

      Equivalent to calling the `Year.get(java.time.temporal.TemporalField)` method with a `ChronoField.ERA` argument.

      Returns the era of the year, which is currently either 0 (BC) or 1 (AD).

      Parameters:
        `self` - a Year
      Returns:
        an int representing the era
      Since:
        2.5.0

    - #### getYearOfEra

          public static int getYearOfEra(java.time.Year self)

      Equivalent to calling the `Year.get(java.time.temporal.TemporalField)` method with a `ChronoField.YEAR_OF_ERA` argument.

      Since Year=0 represents 1 BC, the yearOfEra value of Year=0 is 1, Year=-1 is 2, and so on.

      Parameters:
        `self` - a Year
      Returns:
        the year value of the era
      Since:
        2.5.0

    - #### plus

          public static java.time.YearMonth plus(java.time.YearMonth self,
                                                 long months)

      Returns a `YearMonth` that is `months` months after this year/month.
      Parameters:
        `self` - a YearMonth
        `months` - the number of months to add
      Returns:
        a Year
      Since:
        2.5.0

    - #### minus

          public static java.time.YearMonth minus(java.time.YearMonth self,
                                                  long months)

      Returns a `YearMonth` that is `months` months before this year/month.
      Parameters:
        `self` - a YearMonth
        `months` - the number of months to subtract
      Returns:
        a Year
      Since:
        2.5.0

    - #### next

          public static java.time.YearMonth next(java.time.YearMonth self)

      Returns a `YearMonth` that is the month after this year/month.
      Parameters:
        `self` - a YearMonth
      Returns:
        the next YearMonth
      Since:
        2.5.0

    - #### previous

          public static java.time.YearMonth previous(java.time.YearMonth self)

      Returns a `YearMonth` that is the month before this year/month.
      Parameters:
        `self` - a YearMonth
      Returns:
        the previous YearMonth
      Since:
        2.5.0

    - #### leftShift

          public static java.time.LocalDate leftShift(java.time.YearMonth self,
                                                      int dayOfMonth)

      Returns a `LocalDate` of this year/month and the given day of the month.
      Parameters:
        `self` - a YearMonth
        `dayOfMonth` - a day of the month
      Returns:
        a LocalDate
      Since:
        2.5.0

    - #### rightShift

          public static java.time.Period rightShift(java.time.YearMonth self,
                                                    java.time.YearMonth other)

      Returns a `Period` of time between the first day of this year/month (inclusive) and the given `YearMonth` (exclusive).
      Parameters:
        `self` - a YearMonth
        `other` - another YearMonth
      Returns:
        a Period
      Since:
        2.5.0

    - #### format

          public static java.lang.String format(java.time.ZonedDateTime self,
                                                java.lang.String pattern)

      Formats this date/time with the provided `DateTimeFormatter` pattern.
      Parameters:
        `self` - a ZonedDateTime
        `pattern` - the formatting pattern
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### format

          public static java.lang.String format(java.time.ZonedDateTime self,
                                                java.time.format.FormatStyle dateTimeStyle)

      Formats this date/time in the provided, localized `FormatStyle`.
      Parameters:
        `self` - a ZonedDateTime
        `dateTimeStyle` - the FormatStyle
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getDateTimeString

          public static java.lang.String getDateTimeString(java.time.ZonedDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_DATE_TIME` formatter and appends the zone's short name, e.g. `2018-03-10T14:34:55.144EST`.
      Parameters:
        `self` - a ZonedDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getDateString

          public static java.lang.String getDateString(java.time.ZonedDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_DATE` formatter and appends the zone's short name, e.g. `2018-03-10EST`.
      Parameters:
        `self` - a ZonedDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### getTimeString

          public static java.lang.String getTimeString(java.time.ZonedDateTime self)

      Formats this date/time with the `DateTimeFormatter.ISO_LOCAL_TIME` formatter and appends the zone's short name, e.g. `14:34:55.144EST`.
      Parameters:
        `self` - a ZonedDateTime
      Returns:
        a formatted String
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`

    - #### clearTime

          public static java.time.ZonedDateTime clearTime(java.time.ZonedDateTime self)

      Returns an `ZonedDateTime` with the time portion cleared.
      Parameters:
        `self` - a ZonedDateTime
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### plus

          public static java.time.ZonedDateTime plus(java.time.ZonedDateTime self,
                                                     long seconds)

      Returns a `ZonedDateTime` that is `seconds` seconds after this date/time.
      Parameters:
        `self` - an ZonedDateTime
        `seconds` - the number of seconds to add
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### minus

          public static java.time.ZonedDateTime minus(java.time.ZonedDateTime self,
                                                      long seconds)

      Returns a `ZonedDateTime` that is `seconds` seconds before this date/time.
      Parameters:
        `self` - a ZonedDateTime
        `seconds` - the number of seconds to subtract
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### next

          public static java.time.ZonedDateTime next(java.time.ZonedDateTime self)

      Returns a `ZonedDateTime` that is one second after this date/time.
      Parameters:
        `self` - a ZonedDateTime
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### previous

          public static java.time.ZonedDateTime previous(java.time.ZonedDateTime self)

      Returns a `ZonedDateTime` that is one second before this date/time.
      Parameters:
        `self` - a ZonedDateTime
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### toDate

          public static java.util.Date toDate(java.time.ZonedDateTime self)

      Returns a generally equivalent instance of `Date`. The time value of the returned date is truncated to milliseconds and will be adjusted to the current system default time zone.
      Parameters:
        `self` - a ZonedDateTime
      Returns:
        a java.util.Date
      Since:
        2.5.0

    - #### toCalendar

          public static java.util.Calendar toCalendar(java.time.ZonedDateTime self)

      Returns a generally equivalent instance of `Calendar`. The time value of the returned calendar is truncated to milliseconds and the time zone is determined by the zone of this date/time.
      Parameters:
        `self` - an ZonedDateTime
      Returns:
        a java.util.Calendar
      Since:
        2.5.0

    - #### toTimeZone

          public static java.util.TimeZone toTimeZone(java.time.ZoneId self)

      Returns a `TimeZone` equivalent to this zone.
      Parameters:
        `self` - a ZoneId
      Returns:
        a TimeZone
      Since:
        2.5.0

    - #### getFullName

          public static java.lang.String getFullName(java.time.ZoneId self)

      Returns the name of this zone formatted according to the `TextStyle.FULL` text style.
      Parameters:
        `self` - a ZoneId
      Returns:
        the full display name of the ZoneId
      Since:
        2.5.0

    - #### getFullName

          public static java.lang.String getFullName(java.time.ZoneId self,
                                                     java.util.Locale locale)

      Returns the name of this zone formatted according to the `TextStyle.FULL` text style for the provided `Locale`.
      Parameters:
        `self` - a ZoneId
        `locale` - a Locale
      Returns:
        the full display name of the ZoneId
      Since:
        2.5.0

    - #### getShortName

          public static java.lang.String getShortName(java.time.ZoneId self)

      Returns the name of this zone formatted according to the `TextStyle.SHORT` text style.
      Parameters:
        `self` - a ZoneId
      Returns:
        the short display name of the ZoneId
      Since:
        2.5.0

    - #### getShortName

          public static java.lang.String getShortName(java.time.ZoneId self,
                                                      java.util.Locale locale)

      Returns the name of this zone formatted according to the `TextStyle.SHORT` text style for the provided `Locale`.
      Parameters:
        `self` - a ZoneId
        `locale` - a Locale
      Returns:
        the short display name of the ZoneId
      Since:
        2.5.0

    - #### getOffset

          public static java.time.ZoneOffset getOffset(java.time.ZoneId self)

      Returns a `ZoneOffset` for this zone as of now.
      Parameters:
        `self` - a ZoneId
      Returns:
        a ZoneOffset
      Since:
        2.5.0

    - #### getOffset

          public static java.time.ZoneOffset getOffset(java.time.ZoneId self,
                                                       java.time.Instant instant)

      Returns a `ZoneOffset` for this zone as of the provided `Instant`.
      Parameters:
        `self` - a ZoneId
        `instant` - an Instant
      Returns:
        a ZoneOffset
      Since:
        2.5.0

    - #### leftShift

          public static java.time.ZonedDateTime leftShift(java.time.ZoneId self,
                                                          java.time.LocalDateTime dateTime)

      Returns a `ZonedDateTime` of this zone and the given `LocalDateTime`.
      Parameters:
        `self` - a ZoneId
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### toTimeZone

          public static java.util.TimeZone toTimeZone(java.time.ZoneOffset self)

      Returns a generally equivalent `TimeZone`. The offset will be truncated to minutes.
      Parameters:
        `self` - a ZoneOffset
      Returns:
        a TimeZone
      Since:
        2.5.0

    - #### getHours

          public static int getHours(java.time.ZoneOffset self)

      Returns the hours component of this offset. If the offset's total seconds are negative, a negative value will be returned.
      Parameters:
        `self` - a ZoneOffset
      Returns:
        the hours component value
      Since:
        2.5.0

    - #### getMinutes

          public static int getMinutes(java.time.ZoneOffset self)

      Returns the minutes component of this offset. If the offset's total seconds are negative, a negative value will be returned.
      Parameters:
        `self` - a ZoneOffset
      Returns:
        the minutes component value
      Since:
        2.5.0

    - #### getSeconds

          public static int getSeconds(java.time.ZoneOffset self)

      Returns the seconds component of this offset. This is not the same as the total seconds. For example:

               def offset = ZoneOffset.ofHoursMinutesSeconds(0, 1, 1)
               assert offset.seconds == 1
               assert offset.totalSeconds == 61

      If the offset's total seconds are negative, a negative value will be returned.

      Parameters:
        `self` - a ZoneOffset
      Returns:
        the seconds component value
      Since:
        2.5.0

    - #### getAt

          public static long getAt(java.time.ZoneOffset self,
                                   java.time.temporal.TemporalField field)

      Supports the getAt operator; equivalent to calling the `ZoneOffset.getLong(java.time.temporal.TemporalField)` method.
      Parameters:
        `self` - a ZoneOffset
        `field` - a TemporalField
      Returns:
        the ZoneOffset's field value
      Since:
        2.5.0

    - #### leftShift

          public static java.time.OffsetDateTime leftShift(java.time.ZoneOffset self,
                                                           java.time.LocalDateTime dateTime)

      Returns an `OffsetDateTime` of this offset and the provided `LocalDateTime`.
      Parameters:
        `self` - a ZoneOffset
        `dateTime` - a LocalDateTime
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### leftShift

          public static java.time.OffsetTime leftShift(java.time.ZoneOffset self,
                                                       java.time.LocalTime time)

      Returns an `OffsetDateTime` of this offset and the provided `LocalTime`.
      Parameters:
        `self` - a ZoneOffset
        `time` - a LocalTime
      Returns:
        an OffsetTime
      Since:
        2.5.0

    - #### plus

          public static java.time.DayOfWeek plus(java.time.DayOfWeek self,
                                                 int days)

      Returns the `DayOfWeek` that is `days` many days after this day of the week.
      Parameters:
        `self` - a DayOfWeek
        `days` - the number of days to move forward
      Returns:
        the DayOfWeek
      Since:
        2.5.0

    - #### minus

          public static java.time.DayOfWeek minus(java.time.DayOfWeek self,
                                                  int days)

      Returns the `DayOfWeek` that is `days` many days before this day of the week.
      Parameters:
        `self` - a DayOfWeek
        `days` - the number of days to move back
      Returns:
        the DayOfWeek
      Since:
        2.5.0

    - #### isWeekend

          public static boolean isWeekend(java.time.DayOfWeek self)

      Returns `true` if this day of the week is a weekend day (Saturday or Sunday).
      Parameters:
        `self` - a DayOfWeek
      Returns:
        true if this DayOfWeek is Saturday or Sunday
      Since:
        2.5.0

    - #### isWeekday

          public static boolean isWeekday(java.time.DayOfWeek self)

      Returns `true` if the DayOfWeek is a weekday.
      Returns:
        true if this DayOfWeek is Monday through Friday
      Since:
        2.5.0

    - #### plus

          public static java.time.Month plus(java.time.Month self,
                                             int months)

      Returns the `Month` that is `months` months after this month.
      Parameters:
        `self` - a Month
        `months` - the number of months move forward
      Returns:
        the Month
      Since:
        2.5.0

    - #### minus

          public static java.time.Month minus(java.time.Month self,
                                              int months)

      Returns the `Month` that is `months` months before this month.
      Parameters:
        `self` - a Month
        `months` - the number of months to move back
      Returns:
        the Month
      Since:
        2.5.0

    - #### leftShift

          public static java.time.MonthDay leftShift(java.time.Month self,
                                                     int dayOfMonth)

      Creates a `MonthDay` at the provided day of the month.
      Parameters:
        `self` - a Month
        `dayOfMonth` - a day of the month
      Returns:
        a MonthDay
      Since:
        2.5.0

    - #### leftShift

          public static java.time.YearMonth leftShift(java.time.Month self,
                                                      java.time.Year year)

      Creates a `YearMonth` at the provided `Year`.
      Parameters:
        `self` - a Month
        `year` - a Year
      Returns:
        a YearMonth
      Since:
        2.5.0

    - #### getZoneOffset

          public static java.time.ZoneOffset getZoneOffset(java.util.Calendar self)

      Returns the Time Zone offset of the Calendar as a `ZoneOffset`.
      Parameters:
        `self` - a Calendar
      Returns:
        a ZoneOffset
      Since:
        2.5.0

    - #### getZoneOffset

          public static java.time.ZoneOffset getZoneOffset(java.util.Date self)

      Returns the Time Zone offset of the Date as a `ZoneOffset`, which will typically be system's default offset.
      Parameters:
        `self` - a Date
      Returns:
        a ZoneOffset
      Since:
        2.5.0

    - #### getZoneId

          public static java.time.ZoneId getZoneId(java.util.Calendar self)

      Returns the Time Zone of the Calendar as a java.time.ZoneId.
      Parameters:
        `self` - a Calendar
      Returns:
        a ZoneId
      Since:
        2.5.0

    - #### getZoneId

          public static java.time.ZoneId getZoneId(java.util.Date self)

      Returns the Time Zone of the Date as a `ZoneId`. This will typically be the system's default ZoneId.
      Parameters:
        `self` - a Date
      Returns:
        a ZoneId
      Since:
        2.5.0

    - #### toYear

          public static java.time.Year toYear(java.util.Calendar self)

      Converts the Calendar to a corresponding `Year`. If the Calendar has a different time zone than the system default, the Year will be adjusted into the default time zone.
      Parameters:
        `self` - a Calendar
      Returns:
        a Year
      Since:
        2.5.0

    - #### toYear

          public static java.time.Year toYear(java.util.Date self)

      Converts the Date to a corresponding `Year`.
      Parameters:
        `self` - a Date
      Returns:
        a Year
      Since:
        2.5.0

    - #### toMonth

          public static java.time.Month toMonth(java.util.Calendar self)

      Converts the Calendar to a corresponding `Month`. If the Calendar has a different time zone than the system default, the Month will be adjusted into the default time zone.
      Parameters:
        `self` - a Calendar
      Returns:
        a Month
      Since:
        2.5.0

    - #### toMonth

          public static java.time.Month toMonth(java.util.Date self)

      Converts the Date to a corresponding `Month`.
      Parameters:
        `self` - a Date
      Returns:
        a Month
      Since:
        2.5.0

    - #### toMonthDay

          public static java.time.MonthDay toMonthDay(java.util.Calendar self)

      Converts the Calendar to a corresponding `MonthDay`. If the Calendar has a different time zone than the system default, the MonthDay will be adjusted into the default time zone.
      Parameters:
        `self` - a Calendar
      Returns:
        a MonthDay
      Since:
        2.5.0

    - #### toMonthDay

          public static java.time.MonthDay toMonthDay(java.util.Date self)

      Converts the Date to a corresponding `MonthDay`.
      Parameters:
        `self` - a Date
      Returns:
        a MonthDay
      Since:
        2.5.0

    - #### toYearMonth

          public static java.time.YearMonth toYearMonth(java.util.Calendar self)

      Converts the Calendar to a corresponding `YearMonth`. If the Calendar has a different time zone than the system default, the YearMonth will be adjusted into the default time zone.
      Parameters:
        `self` - a Calendar
      Returns:
        a YearMonth
      Since:
        2.5.0

    - #### toYearMonth

          public static java.time.YearMonth toYearMonth(java.util.Date self)

      Converts the Date to a corresponding `YearMonth`.
      Parameters:
        `self` - a Date
      Returns:
        a YearMonth
      Since:
        2.5.0

    - #### toDayOfWeek

          public static java.time.DayOfWeek toDayOfWeek(java.util.Calendar self)

      Converts the Calendar to a corresponding `DayOfWeek`. If the Calendar has a different time zone than the system default, the DayOfWeek will be adjusted into the default time zone.
      Parameters:
        `self` - a Calendar
      Returns:
        a DayOfWeek
      Since:
        2.5.0

    - #### toDayOfWeek

          public static java.time.DayOfWeek toDayOfWeek(java.util.Date self)

      Converts the Date to a corresponding `DayOfWeek`.
      Parameters:
        `self` - a Date
      Returns:
        a DayOfWeek
      Since:
        2.5.0

    - #### toLocalDate

          public static java.time.LocalDate toLocalDate(java.util.Date self)

      Converts the Date to a corresponding `LocalDate`.
      Parameters:
        `self` - a Date
      Returns:
        a LocalDate
      Since:
        2.5.0

    - #### toLocalTime

          public static java.time.LocalTime toLocalTime(java.util.Calendar self)

      Converts the Calendar to a corresponding `LocalTime`. If the Calendar has a different time zone than the system default, the LocalTime will be adjusted into the default time zone.
      Parameters:
        `self` - a Calendar
      Returns:
        a LocalTime
      Since:
        2.5.0

    - #### toLocalTime

          public static java.time.LocalTime toLocalTime(java.util.Date self)

      Converts the Date to a corresponding `LocalTime`.
      Parameters:
        `self` - a Date
      Returns:
        a LocalTime
      Since:
        2.5.0

    - #### toLocalDateTime

          public static java.time.LocalDateTime toLocalDateTime(java.util.Calendar self)

      Converts the Calendar to a corresponding `LocalDateTime`. If the Calendar has a different time zone than the system default, the LocalDateTime will be adjusted into the default time zone.
      Parameters:
        `self` - a Calendar
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### toLocalDateTime

          public static java.time.LocalDateTime toLocalDateTime(java.util.Date self)

      Converts the Date to a corresponding `LocalDateTime`.
      Parameters:
        `self` - a Date
      Returns:
        a LocalDateTime
      Since:
        2.5.0

    - #### toZonedDateTime

          public static java.time.ZonedDateTime toZonedDateTime(java.util.Calendar self)

      Converts the Calendar to a corresponding `ZonedDateTime`.

      Note that `GregorianCalendar` has a `GregorianCalendar.toZonedDateTime()` method, which is commonly the specific type of Calendar in use.

      Parameters:
        `self` - a Calendar
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### toZonedDateTime

          public static java.time.ZonedDateTime toZonedDateTime(java.util.Date self)

      Converts the Date to a corresponding `ZonedDateTime`.
      Parameters:
        `self` - a Date
      Returns:
        a ZonedDateTime
      Since:
        2.5.0

    - #### toOffsetDateTime

          public static java.time.OffsetDateTime toOffsetDateTime(java.util.Calendar self)

      Converts the Calendar to a corresponding `OffsetDateTime`.
      Parameters:
        `self` - a Calendar
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### toOffsetDateTime

          public static java.time.OffsetDateTime toOffsetDateTime(java.util.Date self)

      Converts the Date to a corresponding `OffsetDateTime`.
      Parameters:
        `self` - a Date
      Returns:
        an OffsetDateTime
      Since:
        2.5.0

    - #### toOffsetTime

          public static java.time.OffsetTime toOffsetTime(java.util.Calendar self)

      Converts the Calendar to a corresponding `OffsetTime`.
      Parameters:
        `self` - a Calendar
      Returns:
        an OffsetTime
      Since:
        2.5.0

    - #### toOffsetTime

          public static java.time.OffsetTime toOffsetTime(java.util.Date self)

      Converts the Date to a corresponding `OffsetTime`.
      Parameters:
        `self` - a Date
      Returns:
        an OffsetTime
      Since:
        2.5.0

    - #### toInstant

          public static java.time.Instant toInstant(java.util.Calendar self)

      Convenience method for converting a Calendar to a corresponding `Instant`.
      Parameters:
        `self` - a Calendar
      Returns:
        an Instant
      Since:
        2.5.0

    - #### toZoneOffset

          public static java.time.ZoneOffset toZoneOffset(java.util.TimeZone self)

      Converts the TimeZone to a corresponding `ZoneOffset`. The offset is determined using the current date/time.
      Parameters:
        `self` - a TimeZone
      Returns:
        a ZoneOffset
      Since:
        2.5.0

    - #### toZoneOffset

          public static java.time.ZoneOffset toZoneOffset(java.util.TimeZone self,
                                                          java.time.Instant instant)

      Converts this TimeZone to a corresponding `ZoneOffset`. The offset is determined using the date/time of specified Instant.
      Parameters:
        `self` - a TimeZone
      Returns:
        a ZoneOffset
      Since:
        2.5.0