
org.threeten.bp.package.scala Maven / Gradle / Ivy
/*
* Copyright (c) 2007-present, Stephen Colebourne & Michael Nascimento Santos
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* * Neither the name of JSR-310 nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package org.threeten
/**
* 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 {@link org.threeten.bp.temporal} package. Each
* class includes support for printing and parsing all manner of dates and times. Refer to the
* {@link org.threeten.bp.format} package for customization options.
*
* The {@link 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==
*
* {@link org.threeten.bp.Instant} is essentially a numeric timestamp. The current Instant can be
* retrieved from a {@link 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 {@link
* java.lang.System#currentTimeMillis()}.
*
* {@link 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.
*
* {@link 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.
*
* {@link org.threeten.bp.LocalDateTime} stores a date and time. This stores a date-time like
* '2010-12-03T11:30'.
*
* {@link org.threeten.bp.OffsetTime} stores a time and offset from UTC without a date. This stores
* a date like '11:30+01:00'. The {@link org.threeten.bp.ZoneOffset ZoneOffset} is of the form
* '+01:00'.
*
* {@link 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.
*
* {@link 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 {@link
* 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 {@link
* org.threeten.bp.Duration} is a simple measure of time along the time-line in nanoseconds. A
* {@link org.threeten.bp.Period} expresses an amount of time in units meaningful to humans, such as
* years or hours.
*
* ==Additional value types==
*
* {@link org.threeten.bp.Year} stores a year on its own. This stores a single year in isolation,
* such as '2010'.
*
* {@link 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.
*
* {@link 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.
*
* {@link org.threeten.bp.Month} stores a month on its own. This stores a single month-of-year in
* isolation, such as 'DECEMBER'.
*
* {@link org.threeten.bp.DayOfWeek} stores a day-of-week on its own. This stores a single
* day-of-week in isolation, such as 'TUESDAY'.
*/
package object bp
© 2015 - 2025 Weber Informatics LLC | Privacy Policy