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.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'.
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 theorg.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 aorg.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 fromjava.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'. TheZoneOffset
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 theorg.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. Aorg.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'.