public class Period<T extends Temporal> extends Object implements Comparable<Period<T>>, Serializable
CalendarDateFormat
.
NOTE: End dates and durations are implicitly derived when not explicitly specified. This means that you cannot
rely on the returned values from the getters to deduce whether a period has an explicit end date or duration.
3.3.9. Period of Time Value Name: PERIOD Purpose: This value type is used to identify values that contain a precise period of time. Format Definition: This value type is defined by the following notation: period = period-explicit / period-start period-explicit = date-time "/" date-time ; [ISO.8601.2004] complete representation basic format for a ; period of time consisting of a start and end. The start MUST ; be before the end. period-start = date-time "/" dur-value ; [ISO.8601.2004] complete representation basic format for a ; period of time consisting of a start and positive duration ; of time. Description: If the property permits, multiple "period" values are specified by a COMMA-separated list of values. There are two forms of a period of time. First, a period of time is identified by its start and its end. This format is based on the [ISO.8601.2004] complete representation, basic format for "DATE- TIME" start of the period, followed by a SOLIDUS character followed by the "DATE-TIME" of the end of the period. The start of the period MUST be before the end of the period. Second, a period of time can also be defined by a start and a positive duration of time. The format is based on the [ISO.8601.2004] complete representation, basic format for the "DATE-TIME" start of the period, followed by a SOLIDUS character, followed by the [ISO.8601.2004] basic format for "DURATION" of the period. Example: The period starting at 18:00:00 UTC, on January 1, 1997 and ending at 07:00:00 UTC on January 2, 1997 would be: 19970101T180000Z/19970102T070000Z The period start at 18:00:00 on January 1, 1997 and lasting 5 hours and 30 minutes would be: 19970101T180000Z/PT5H30M No additional content value encoding (i.e., BACKSLASH character encoding, see Section 3.3.11) is defined for this value type.
Constructor and Description |
---|
Period(DateTime start,
Dur duration)
Deprecated.
|
Period(T start,
T end)
Constructs a new period with the specified start and end date.
|
Period(T start,
T end,
CalendarDateFormat dateFormat)
Constructs a new period with the specified start and end date with a common date format.
|
Period(T start,
TemporalAmount duration)
Constructs a new period with the specified start date and duration.
|
Period(T start,
TemporalAmount duration,
CalendarDateFormat dateFormat) |
Modifier and Type | Method and Description |
---|---|
Period<T> |
add(Period<T> period)
Creates a period that encompasses both this period and another one.
|
int |
compareTo(Period<T> period)
Compares the specified period with this period.
|
boolean |
equals(Object o) |
Component |
getComponent() |
TemporalAmount |
getDuration()
Returns the duration of this period.
|
T |
getEnd()
Returns the end date of this period.
|
T |
getStart() |
int |
hashCode() |
boolean |
includes(Date date,
boolean inclusive)
Deprecated.
use
includes(Temporal) instead. |
boolean |
includes(Temporal date)
Determines if the specified date occurs within this period (inclusive of
period start and end).
|
boolean |
intersects(Period<?> other)
Decides whether this period intersects with another one.
|
boolean |
isEmpty()
An empty period is one that consumes no time.
|
static <T extends Temporal> |
parse(String value)
Parse a string representation of a period.
|
void |
setComponent(Component component) |
PeriodList<T> |
subtract(Period<T> period)
Creates a set of periods resulting from the subtraction of the specified
period from this one.
|
org.threeten.extra.Interval |
toInterval() |
org.threeten.extra.Interval |
toInterval(ZoneId zoneId) |
String |
toString()
Formats the period as an iCalendar compatible string.
|
String |
toString(ZoneId zoneId)
Formats the period as an iCalendar compatible string in the specified timezone.
|
public Period(T start, T end)
start
- the start date of the periodend
- the end date of the periodpublic Period(T start, T end, CalendarDateFormat dateFormat)
start
- the start date of the periodend
- the end date of the perioddateFormat
- the format used to generate string representations@Deprecated public Period(DateTime start, Dur duration)
start
- the start date of the periodduration
- the duration of the periodpublic Period(T start, TemporalAmount duration)
start
- the start date of the periodduration
- the duration of the periodpublic Period(T start, TemporalAmount duration, CalendarDateFormat dateFormat)
public static <T extends Temporal> Period<T> parse(String value)
T
- the expected temporal type of the resulting periodvalue
- a string representation of a periodDateTimeParseException
- if the text cannot be parsed to a periodpublic final TemporalAmount getDuration()
public final T getEnd()
public final T getStart()
@Deprecated public final boolean includes(Date date, boolean inclusive)
includes(Temporal)
instead.date
- a date to test for inclusioninclusive
- indicates if the start and end of the period are included in the testpublic final boolean includes(Temporal date)
date
- a date to test for inclusionpublic final Period<T> add(Period<T> period)
period
- the period to add to this onepublic final PeriodList<T> subtract(Period<T> period)
period
- a period to subtract from this onepublic final boolean isEmpty()
public String toString()
public String toString(ZoneId zoneId)
public boolean intersects(Period<?> other)
other
- a possible intersecting periodpublic org.threeten.extra.Interval toInterval()
public org.threeten.extra.Interval toInterval(ZoneId zoneId)
public final int compareTo(Period<T> period)
compareTo
in interface Comparable<Period<T extends Temporal>>
period
- a period to compare with this onepublic Component getComponent()
public void setComponent(Component component)