Packages

  • package root
    Definition Classes
    root
  • package org
    Definition Classes
    root
  • package threeten
    Definition Classes
    org
  • package bp

    The main API for dates, times, instants, and durations.

    The main API for dates, times, instants, and durations.

    The classes defined here represent the principal date-time concepts, including instants, durations, dates, times, time-zones and periods. They are based on the ISO calendar system, which is the de facto world calendar following the proleptic Gregorian rules. All the classes are immutable and thread-safe.

    Each date time instance is composed of fields that are conveniently made available by the APIs. For lower level access to the fields refer to the org.threeten.bp.temporal package. Each class includes support for printing and parsing all manner of dates and times. Refer to the org.threeten.bp.format package for customization options.

    The org.threeten.bp.chrono package contains the calendar neutral API. This is intended for use by applications that need to use localized calendars. It is recommended that applications use the ISO-8601 dates and time classes from this package across system boundaries, such as to the database or across the network. The calendar neutral API should be reserved for interactions with users.

    Dates and Times

    org.threeten.bp.Instant is essentially a numeric timestamp. The current Instant can be retrieved from a org.threeten.bp.Clock. This is useful for logging and persistence of a point in time and has in the past been associated with storing the result from java.lang.System#currentTimeMillis().

    org.threeten.bp.LocalDate stores a date without a time. This stores a date like '2010-12-03' and could be used to store a birthday.

    org.threeten.bp.LocalTime stores a time without a date. This stores a time like '11:30' and could be used to store an opening or closing time.

    org.threeten.bp.LocalDateTime stores a date and time. This stores a date-time like '2010-12-03T11:30'.

    org.threeten.bp.OffsetTime stores a time and offset from UTC without a date. This stores a date like '11:30+01:00'. The ZoneOffset is of the form '+01:00'.

    org.threeten.bp.OffsetDateTime stores a date and time and offset from UTC. This stores a date-time like '2010-12-03T11:30+01:00'. This is sometimes found in XML messages and other forms of persistence, but contains less information than a full time-zone.

    org.threeten.bp.ZonedDateTime stores a date and time with a time-zone. This is useful if you want to perform accurate calculations of dates and times taking into account the org.threeten.bp.ZoneId, such as 'Europe/Paris'. Where possible, it is recommended to use a simpler class. The widespread use of time-zones tends to add considerable complexity to an application.

    Duration and Period

    Beyond dates and times, the API also allows the storage of period and durations of time. A org.threeten.bp.Duration is a simple measure of time along the time-line in nanoseconds. A org.threeten.bp.Period expresses an amount of time in units meaningful to humans, such as years or hours.

    Additional value types

    org.threeten.bp.Year stores a year on its own. This stores a single year in isolation, such as '2010'.

    org.threeten.bp.YearMonth stores a year and month without a day or time. This stores a year and month, such as '2010-12' and could be used for a credit card expiry.

    org.threeten.bp.MonthDay stores a month and day without a year or time. This stores a month and day-of-month, such as '--12-03' and could be used to store an annual event like a birthday without storing the year.

    org.threeten.bp.Month stores a month on its own. This stores a single month-of-year in isolation, such as 'DECEMBER'.

    org.threeten.bp.DayOfWeek stores a day-of-week on its own. This stores a single day-of-week in isolation, such as 'TUESDAY'.

    Definition Classes
    threeten
  • package temporal

    Access to date and time using fields and units.

    Access to date and time using fields and units.

    This package expands on the base package to provide additional functionality for more powerful use cases. Support is included for:

    • Units of date-time, such as years, months, days and hours
    • Fields of date-time, such as month-of-year, day-of-week or hour-of-day
    • Date-time adjustment functions
    • Different definitions of weeks

    Fields and Units

    Dates and times are expressed in terms of fields and units. A unit is used to measure an amount of time, such as years, days or minutes. All units implement org.threeten.bp.temporal.TemporalUnit. The set of well known units is defined in org.threeten.bp.temporal.ChronoUnit, for example, org.threeten.bp.temporal.ChronoUnit#DAYS. The unit interface is designed to allow applications to add their own units.

    A field is used to express part of a larger date-time, such as year, month-of-year or second-of-minute. All fields implement org.threeten.bp.temporal.TemporalField. The set of well known fields are defined in org.threeten.bp.temporal.ChronoField, for example, org.threeten.bp.temporal.ChronoField#HOUR_OF_DAY. An additional fields are defined by org.threeten.bp.temporal.JulianFields. The field interface is designed to allow applications to add their own fields.

    This package provides tools that allow the units and fields of date and time to be accessed in a general way most suited for frameworks. org.threeten.bp.temporal.Temporal provides the abstraction for date time types that support fields. Its methods support getting the value of a field, creating a new date time with the value of a field modified, and extracting another date time type, typically used to extract the offset or time-zone.

    One use of fields in application code is to retrieve fields for which there is no convenience method. For example, getting the day-of-month is common enough that there is a method on LocalDate called getDayOfMonth(). However for more unusual fields it is necessary to use the field. For example, date.get(ChronoField.ALIGNED_WEEK_OF_MONTH). The fields also provide access to the range of valid values.

    Adjustment

    A key part of the date-time problem space is adjusting a date to a new, related value, such as the "last day of the month", or "next Wednesday". These are modeled as functions that adjust a base date-time. The functions implement org.threeten.bp.temporal.TemporalAdjuster and operate on org.threeten.bp.temporal.Temporal. A set of common functions are provided in org.threeten.bp.temporal.TemporalAdjusters. For example, to find the first occurrence of a day-of-week after a given date, use org.threeten.bp.temporal.TemporalAdjusters#next(DayOfWeek), such as date.with(next(MONDAY)).

    Weeks

    Different locales have different definitions of the week. For example, in Europe the week typically starts on a Monday, while in the US it starts on a Sunday. The org.threeten.bp.temporal.WeekFields class models this distinction.

    The ISO calendar system defines an additional week-based division of years. This defines a year based on whole Monday to Monday weeks. This is modeled in org.threeten.bp.temporal.IsoFields.

    Definition Classes
    bp
  • ChronoField
  • ChronoUnit
  • IsoFields
  • JulianFields
  • Temporal
  • TemporalAccessor
  • TemporalAdjuster
  • TemporalAdjusters
  • TemporalAmount
  • TemporalField
  • TemporalQueries
  • TemporalQuery
  • TemporalUnit
  • UnsupportedTemporalTypeException
  • ValueRange
  • WeekFields

final class ChronoUnit extends Enum[ChronoUnit] with TemporalUnit

Linear Supertypes
TemporalUnit, Enum[ChronoUnit], Serializable, Comparable[ChronoUnit], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ChronoUnit
  2. TemporalUnit
  3. Enum
  4. Serializable
  5. Comparable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def addTo[R <: Temporal](dateTime: R, periodToAdd: Long): R

    Returns a copy of the specified temporal object with the specified period added.

    Returns a copy of the specified temporal object with the specified period added.

    The period added is a multiple of this unit. For example, this method could be used to add "3 days" to a date by calling this method on the instance representing "days", passing the date and the period "3". The period to be added may be negative, which is equivalent to subtraction.

    There are two equivalent ways of using this method. The first is to invoke this method directly. The second is to use TemporalUnit):

    // these two lines are equivalent, but the second approach is recommended
    temporal = thisUnit.doPlus(temporal);
    temporal = temporal.plus(thisUnit);
    
    It is recommended to use the second approach, plus(TemporalUnit), as it is a lot clearer to read in code.

    Implementations should perform any queries or calculations using the units available in ChronoUnit or the fields available in ChronoField. If the field is not supported a DateTimeException must be thrown.

    Implementations must not alter the specified temporal object. Instead, an adjusted copy of the original must be returned. This provides equivalent, safe behavior for immutable and mutable implementations.

    R

    the type of the Temporal object

    dateTime

    the temporal object to adjust, not null

    periodToAdd

    the period of this unit to add, positive or negative

    returns

    the adjusted temporal object, not null

    Definition Classes
    ChronoUnitTemporalUnit
    Exceptions thrown

    DateTimeException if the period cannot be added

  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def between(temporal1: Temporal, temporal2: Temporal): Long

    Calculates the period in terms of this unit between two temporal objects of the same type.

    Calculates the period in terms of this unit between two temporal objects of the same type.

    This calculates the period between two temporals in terms of this unit. The start and end points are supplied as temporal objects and must be of the same type. The result will be negative if the end is before the start. For example, the period in hours between two temporal objects can be calculated using HOURS.between(startTime, endTime).

    The calculation returns a whole number, representing the number of complete units between the two temporals. For example, the period in hours between the times 11:30 and 13:29 will only b one hour as it is one minute short of two hours.

    There are two equivalent ways of using this method. The first is to invoke this method directly. The second is to use TemporalUnit):

    // these two lines are equivalent
    between = thisUnit.between(start, end);
    between = start.until(end, thisUnit);
    
    The choice should be made based on which makes the code more readable.

    For example, this method allows the number of days between two dates to be calculated:

    long daysBetween = DAYS.between(start, end);
    // or alternatively
    long daysBetween = start.until(end, DAYS);
    
    Implementations should perform any queries or calculations using the units available in ChronoUnit or the fields available in ChronoField. If the unit is not supported a DateTimeException must be thrown. Implementations must not alter the specified temporal objects.

    temporal1

    the base temporal object, not null

    temporal2

    the other temporal object, not null

    returns

    the period between temporal1 and temporal2 in terms of this unit; positive if temporal2 is later than temporal1, negative if earlier

    Definition Classes
    ChronoUnitTemporalUnit
    Exceptions thrown

    ArithmeticException if numeric overflow occurs

    DateTimeException if the period cannot be calculated

  7. final def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    Enum → AnyRef
    Annotations
    @throws( ... )
  8. final def compareTo(arg0: ChronoUnit): Int
    Definition Classes
    Enum → Comparable
  9. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  10. final def equals(arg0: Any): Boolean
    Definition Classes
    Enum → AnyRef → Any
  11. final def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    Enum → AnyRef
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  13. final def getDeclaringClass(): Class[ChronoUnit]
    Definition Classes
    Enum
  14. def getDuration: Duration

    Gets the estimated duration of this unit in the ISO calendar system.

    Gets the estimated duration of this unit in the ISO calendar system.

    All of the units in this class have an estimated duration. Days vary due to daylight saving time, while months have different lengths.

    returns

    the estimated duration of this unit, not null

    Definition Classes
    ChronoUnitTemporalUnit
  15. final def hashCode(): Int
    Definition Classes
    Enum → AnyRef → Any
  16. def isDateBased: Boolean

    Checks if this unit is a date unit.

    Checks if this unit is a date unit.

    returns

    true if a date unit, false if a time unit

    Definition Classes
    ChronoUnitTemporalUnit
  17. def isDurationEstimated: Boolean

    Checks if the duration of the unit is an estimate.

    Checks if the duration of the unit is an estimate.

    All time units in this class are considered to be accurate, while all date units in this class are considered to be estimated.

    This definition ignores leap seconds, but considers that Days vary due to daylight saving time and months have different lengths.

    returns

    true if the duration is estimated, false if accurate

    Definition Classes
    ChronoUnitTemporalUnit
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def isSupportedBy(temporal: Temporal): Boolean

    Checks if this unit is supported by the specified temporal object.

    Checks if this unit is supported by the specified temporal object.

    This checks that the implementing date-time can add/subtract this unit. This can be used to avoid throwing an exception.

    temporal

    the temporal object to check, not null

    returns

    true if the unit is supported

    Definition Classes
    ChronoUnitTemporalUnit
  20. def isTimeBased: Boolean

    Checks if this unit is a time unit.

    Checks if this unit is a time unit.

    returns

    true if a time unit, false if a date unit

    Definition Classes
    ChronoUnitTemporalUnit
  21. final def name(): String
    Definition Classes
    Enum
  22. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  23. final def notify(): Unit
    Definition Classes
    AnyRef
  24. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  25. final def ordinal(): Int
    Definition Classes
    Enum
  26. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  27. def toString: String

    Outputs this unit as a String using the name.

    Outputs this unit as a String using the name.

    returns

    the name of this unit, not null

    Definition Classes
    ChronoUnitTemporalUnit → Enum → AnyRef → Any
  28. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from TemporalUnit

Inherited from Enum[ChronoUnit]

Inherited from Serializable

Inherited from Comparable[ChronoUnit]

Inherited from AnyRef

Inherited from Any

Ungrouped