org.apache.groovy.datetime.extensions

## Class DateTimeStaticExtensions

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

-     public class DateTimeStaticExtensions
      extends java.lang.Object

  This class defines new static extension methods which appear on normal JDK Date/Time API (java.time) classes inside the Groovy environment.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static java.time.Period` | `between(java.time.Period type, java.time.YearMonth startInclusive, java.time.YearMonth endExclusive)` Obtains a Period consisting of the number of years and months between two `YearMonth` instances.
    `static java.time.Period` | `between(java.time.Period type, java.time.Year startInclusive, java.time.Year endExclusive)` Obtains a Period consisting of the number of years between two `Year` instances.
    `static java.time.LocalDate` | `parse(java.time.LocalDate type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into a `LocalDate` using the provided pattern.
    `static java.time.LocalDateTime` | `parse(java.time.LocalDateTime type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into a `LocalDateTime` using the provided pattern.
    `static java.time.LocalTime` | `parse(java.time.LocalTime type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into a `LocalTime` using the provided pattern.
    `static java.time.MonthDay` | `parse(java.time.MonthDay type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into a `MonthDay` using the provided pattern.
    `static java.time.OffsetDateTime` | `parse(java.time.OffsetDateTime type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into an `OffsetDateTime` using the provided pattern.
    `static java.time.OffsetTime` | `parse(java.time.OffsetTime type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into an `OffsetTime` using the provided pattern.
    `static java.time.Year` | `parse(java.time.Year type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into a `Year` using the provided pattern.
    `static java.time.YearMonth` | `parse(java.time.YearMonth type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into a `YearMonth` using the provided pattern.
    `static java.time.ZonedDateTime` | `parse(java.time.ZonedDateTime type, java.lang.CharSequence text, java.lang.String pattern)` Parse text into a `ZonedDateTime` using the provided pattern.
    `static java.time.ZoneOffset` | `systemDefault(java.time.ZoneOffset type)` Returns the `ZoneOffset` currently associated with the system default `ZoneId`.

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

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

- - ### Method Detail

    - #### parse

          public static java.time.LocalDate parse(java.time.LocalDate type,
                                                  java.lang.CharSequence text,
                                                  java.lang.String pattern)

      Parse text into a `LocalDate` using the provided pattern. Note: the order of parameters differs from versions of this method for the legacy Date class.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        a LocalDate representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `LocalDate.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### parse

          public static java.time.LocalDateTime parse(java.time.LocalDateTime type,
                                                      java.lang.CharSequence text,
                                                      java.lang.String pattern)

      Parse text into a `LocalDateTime` using the provided pattern. Note: the order of parameters differs from versions of this method for the legacy Date class.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        a LocalDateTime representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `LocalDateTime.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### parse

          public static java.time.LocalTime parse(java.time.LocalTime type,
                                                  java.lang.CharSequence text,
                                                  java.lang.String pattern)

      Parse text into a `LocalTime` using the provided pattern.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        a LocalTime representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `LocalTime.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### parse

          public static java.time.MonthDay parse(java.time.MonthDay type,
                                                 java.lang.CharSequence text,
                                                 java.lang.String pattern)

      Parse text into a `MonthDay` using the provided pattern.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        a MonthDay representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `MonthDay.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### parse

          public static java.time.OffsetDateTime parse(java.time.OffsetDateTime type,
                                                       java.lang.CharSequence text,
                                                       java.lang.String pattern)

      Parse text into an `OffsetDateTime` using the provided pattern.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        an OffsetDateTime representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `OffsetDateTime.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### parse

          public static java.time.OffsetTime parse(java.time.OffsetTime type,
                                                   java.lang.CharSequence text,
                                                   java.lang.String pattern)

      Parse text into an `OffsetTime` using the provided pattern.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        an OffsetTime representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `OffsetTime.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### parse

          public static java.time.Year parse(java.time.Year type,
                                             java.lang.CharSequence text,
                                             java.lang.String pattern)

      Parse text into a `Year` using the provided pattern.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        a Year representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `Year.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### parse

          public static java.time.YearMonth parse(java.time.YearMonth type,
                                                  java.lang.CharSequence text,
                                                  java.lang.String pattern)

      Parse text into a `YearMonth` using the provided pattern.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        a YearMonth representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `YearMonth.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### parse

          public static java.time.ZonedDateTime parse(java.time.ZonedDateTime type,
                                                      java.lang.CharSequence text,
                                                      java.lang.String pattern)

      Parse text into a `ZonedDateTime` using the provided pattern.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `text` - String to be parsed to create the date instance
        `pattern` - pattern used to parse the text
      Returns:
        a ZonedDateTime representing the parsed text
      Throws:
        `java.lang.IllegalArgumentException` - if the pattern is invalid
        `java.time.format.DateTimeParseException` - if the text cannot be parsed
      Since:
        2.5.0
      See Also:
        `DateTimeFormatter`, `ZonedDateTime.parse(java.lang.CharSequence, java.time.format.DateTimeFormatter)`

    - #### systemDefault

          public static java.time.ZoneOffset systemDefault(java.time.ZoneOffset type)

      Returns the `ZoneOffset` currently associated with the system default `ZoneId`.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
      Returns:
        a ZoneOffset
      Since:
        2.5.0
      See Also:
        `ZoneId.systemDefault()`

    - #### between

          public static java.time.Period between(java.time.Period type,
                                                 java.time.Year startInclusive,
                                                 java.time.Year endExclusive)

      Obtains a Period consisting of the number of years between two `Year` instances. The months and days of the Period will be zero. The result of this method can be a negative period if the end is before the start.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `startInclusive` - the start `Year`, inclusive, not null
        `endExclusive` - the end `Year`, exclusive, not null
      Returns:
        a Period between the years
      See Also:
        `Period.between(LocalDate, LocalDate)`

    - #### between

          public static java.time.Period between(java.time.Period type,
                                                 java.time.YearMonth startInclusive,
                                                 java.time.YearMonth endExclusive)

      Obtains a Period consisting of the number of years and months between two `YearMonth` instances. The days of the Period will be zero. The result of this method can be a negative period if the end is before the start.
      Parameters:
        `type` - placeholder variable used by Groovy categories; ignored for default static methods
        `startInclusive` - the start `YearMonth`, inclusive, not null
        `endExclusive` - the end `YearMonth`, exclusive, not null
      Returns:
        a Period between the year/months
      See Also:
        `Period.between(LocalDate, LocalDate)`