Package org.apache.groovy.datetime.extensions

# Class DateTimeStaticExtensions

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

    public class DateTimeStaticExtensions
    extends 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

  Modifier and Type | Method | Description
  --- | --- | ---
  `static Period` | `between​(Period type, YearMonth startInclusive, YearMonth endExclusive)` | Obtains a Period consisting of the number of years and months between two `YearMonth` instances.
  `static Period` | `between​(Period type, Year startInclusive, Year endExclusive)` | Obtains a Period consisting of the number of years between two `Year` instances.
  `static LocalDate` | `parse​(LocalDate type, CharSequence text, String pattern)` | Parse text into a `LocalDate` using the provided pattern.
  `static LocalDateTime` | `parse​(LocalDateTime type, CharSequence text, String pattern)` | Parse text into a `LocalDateTime` using the provided pattern.
  `static LocalTime` | `parse​(LocalTime type, CharSequence text, String pattern)` | Parse text into a `LocalTime` using the provided pattern.
  `static MonthDay` | `parse​(MonthDay type, CharSequence text, String pattern)` | Parse text into a `MonthDay` using the provided pattern.
  `static OffsetDateTime` | `parse​(OffsetDateTime type, CharSequence text, String pattern)` | Parse text into an `OffsetDateTime` using the provided pattern.
  `static OffsetTime` | `parse​(OffsetTime type, CharSequence text, String pattern)` | Parse text into an `OffsetTime` using the provided pattern.
  `static YearMonth` | `parse​(YearMonth type, CharSequence text, String pattern)` | Parse text into a `YearMonth` using the provided pattern.
  `static Year` | `parse​(Year type, CharSequence text, String pattern)` | Parse text into a `Year` using the provided pattern.
  `static ZonedDateTime` | `parse​(ZonedDateTime type, CharSequence text, String pattern)` | Parse text into a `ZonedDateTime` using the provided pattern.
  `static ZoneOffset` | `systemDefault​(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 Details

  - ### parse

    public static LocalDate parse​(LocalDate type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 LocalDateTime parse​(LocalDateTime type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 LocalTime parse​(LocalTime type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 MonthDay parse​(MonthDay type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 OffsetDateTime parse​(OffsetDateTime type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 OffsetTime parse​(OffsetTime type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 Year parse​(Year type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 YearMonth parse​(YearMonth type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 ZonedDateTime parse​(ZonedDateTime type, CharSequence text, 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:
      `IllegalArgumentException` - if the pattern is invalid
      `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 ZoneOffset systemDefault​(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 Period between​(Period type, Year startInclusive, 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 Period between​(Period type, YearMonth startInclusive, 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)`