Class DateTimeComponents

    • Constructor Detail

      • DateTimeComponents

        public DateTimeComponents​(DateComponents date,
                                  TimeComponents time)
        Build a new instance from its components.
        Parameters:
        date - date component
        time - time component
      • DateTimeComponents

        public DateTimeComponents​(int year,
                                  int month,
                                  int day,
                                  int hour,
                                  int minute,
                                  double second)
                           throws IllegalArgumentException
        Build an instance from raw level components.
        Parameters:
        year - year number (may be 0 or negative for BC years)
        month - month number from 1 to 12
        day - day number from 1 to 31
        hour - hour number from 0 to 23
        minute - minute number from 0 to 59
        second - second number from 0.0 to 60.0 (excluded)
        Throws:
        IllegalArgumentException - if inconsistent arguments are given (parameters out of range, february 29 for non-leap years, dates during the gregorian leap in 1582 ...)
      • DateTimeComponents

        public DateTimeComponents​(int year,
                                  Month month,
                                  int day,
                                  int hour,
                                  int minute,
                                  double second)
                           throws IllegalArgumentException
        Build an instance from raw level components.
        Parameters:
        year - year number (may be 0 or negative for BC years)
        month - month enumerate
        day - day number from 1 to 31
        hour - hour number from 0 to 23
        minute - minute number from 0 to 59
        second - second number from 0.0 to 60.0 (excluded)
        Throws:
        IllegalArgumentException - if inconsistent arguments are given (parameters out of range, february 29 for non-leap years, dates during the gregorian leap in 1582 ...)
      • DateTimeComponents

        public DateTimeComponents​(int year,
                                  int month,
                                  int day)
                           throws IllegalArgumentException
        Build an instance from raw level components.

        The hour is set to 00:00:00.000.

        Parameters:
        year - year number (may be 0 or negative for BC years)
        month - month number from 1 to 12
        day - day number from 1 to 31
        Throws:
        IllegalArgumentException - if inconsistent arguments are given (parameters out of range, february 29 for non-leap years, dates during the gregorian leap in 1582 ...)
      • DateTimeComponents

        public DateTimeComponents​(int year,
                                  Month month,
                                  int day)
                           throws IllegalArgumentException
        Build an instance from raw level components.

        The hour is set to 00:00:00.000.

        Parameters:
        year - year number (may be 0 or negative for BC years)
        month - month enumerate
        day - day number from 1 to 31
        Throws:
        IllegalArgumentException - if inconsistent arguments are given (parameters out of range, february 29 for non-leap years, dates during the gregorian leap in 1582 ...)
      • DateTimeComponents

        public DateTimeComponents​(DateTimeComponents reference,
                                  double offset)
        Build an instance from a seconds offset with respect to another one.
        Parameters:
        reference - reference date/time
        offset - offset from the reference in seconds
        See Also:
        offsetFrom(DateTimeComponents)
    • Method Detail

      • parseDateTime

        public static DateTimeComponents parseDateTime​(String string)
        Parse a string in ISO-8601 format to build a date/time.

        The supported formats are all date formats supported by DateComponents.parseDate(String) and all time formats supported by TimeComponents.parseTime(String) separated by the standard time separator 'T', or date components only (in which case a 00:00:00 hour is implied). Typical examples are 2000-01-01T12:00:00Z or 1976W186T210000.

        Parameters:
        string - string to parse
        Returns:
        a parsed date/time
        Throws:
        IllegalArgumentException - if string cannot be parsed
      • offsetFrom

        public double offsetFrom​(DateTimeComponents dateTime)
        Compute the seconds offset between two instances.
        Parameters:
        dateTime - dateTime to subtract from the instance
        Returns:
        offset in seconds between the two instants (positive if the instance is posterior to the argument)
        See Also:
        DateTimeComponents(DateTimeComponents, double)
      • getDate

        public DateComponents getDate()
        Get the date component.
        Returns:
        date component
      • getTime

        public TimeComponents getTime()
        Get the time component.
        Returns:
        time component
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • toString

        public String toString()
        Return a string representation of this pair.

        The format used is ISO8601.

        Overrides:
        toString in class Object
        Returns:
        string representation of this pair
      • toString

        public String toString​(int minuteDuration)
        Return a string representation of this pair.

        The format used is ISO8601.

        Parameters:
        minuteDuration - 60 or 61 depending on the date being close to a leap second introduction
        Returns:
        string representation of this pair