Package types.collections.time
Class datespan
- All Implemented Interfaces:
Base
,Collection
,Time
,TimeCollection
,TemporalObject
Class for representing sets of contiguous dates between a lower and
an upper bound. The bounds may be inclusive or not.
``DateSpan`` objects can be created with a single argument of type string as in MobilityDB.
>>> DateSpan('(2019-09-08, 2019-09-10)')
Another possibility is to provide the ``lower`` and ``upper`` named
parameters (of type str or date), and optionally indicate whether the
bounds are inclusive or exclusive (by default, the lower bound is inclusive
and the upper is exclusive):
>>> DateSpan(lower='2019-09-08', upper='2019-09-10')
>>> DateSpan(lower='2019-09-08', upper='2019-09-10', lower_inc=False, upper_inc=True)
>>> DateSpan(lower=parse('2019-09-08'), upper=parse('2019-09-10'), upper_inc=True)
- Author:
- ARIJIT SAMAL
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
jnr.ffi.Pointer
createInner
(jnr.ffi.Pointer inner) jnr.ffi.Pointer
createIntInt
(Number lower, Number upper, boolean lower_inc, boolean upper_inc) jnr.ffi.Pointer
createIntIntNb
(Number lower, Number upper) jnr.ffi.Pointer
createIntStr
(Number lower, String upper, boolean lower_inc, boolean upper_inc) jnr.ffi.Pointer
createStringInner
(String str) jnr.ffi.Pointer
createStrInt
(String lower, Number upper, boolean lower_inc, boolean upper_inc) jnr.ffi.Pointer
createStrStr
(String lower, String upper, boolean lower_inc, boolean upper_inc) date_adt_to_date
(int ts) Function to convert the integer timestamp to LocalDate format so that it can be used by other librariesint
dateToTimestamp
(LocalDate date) Returns whether ``self`` temporally contains ``content``.Returns the temporal distance between ``self`` and ``other``.duration()
Returns the duration of ``self``.float
Returns the duration of ``self``.Returns the last date in ``self``.jnr.ffi.Pointer
intersection
(Object other) Returns the temporal intersection of ``self`` and ``other``.boolean
is_adjacent
(Object other) Returns whether ``self`` is adjacent to ``other``.boolean
boolean
boolean
Returns whether ``self`` is strictly before ``other``.boolean
is_over_or_after
(Object other) boolean
is_over_or_before
(Object other) boolean
is_over_or_left
(Object other) Returns whether ``self`` is before ``other`` allowing overlap.boolean
is_over_or_right
(Object other) Returns whether ``self`` is after ``other`` allowing overlap.boolean
Returns whether ``self`` is strictly after ``other``.lower()
Returns the lower bound of a periodReturns the temporal difference of ``self`` and ``other``.boolean
Returns whether ``self`` temporally overlaps ``other``.Returns a new :class:`DateSpan` that starts as ``self`` but has duration ``duration``.Returns a new :class:`DateSpan` that is the result of shifting ``self`` by ``delta``.shift_scale
(Integer shift, Integer duration) Returns a new :class:`DateSpan` that starts at ``self`` shifted by ``shift`` and has duration ``duration`` Examples: >>> DateSpan('[2000-01-01, 2000-01-10]').shift_scale(shift=timedelta(days=2), duration=timedelta(days=4)) >>> 'DateSpan([2000-01-03, 2000-01-07])' Args: shift: :class:`datetime.timedelta` instance to shift duration: :class:`datetime.timedelta` instance representing the duration of the new dateSpan Returns: A new :class:`DateSpan` instance MEOS Functions: datespan_shift_scaleReturns the first date in ``self``.subtract_from
(Object other) static LocalDate
timestampToLocalDate
(int timestamp) Convert timestamp (number of seconds since epoch) to LocalDatestatic LocalDateTime
timestampToLocalDateTime
(int timestamp) Convert timestamp (number of seconds since epoch) to LocalDateTimeReturns a :class:`DateSpanSet` set containing ``self``.Returns a :class:`TsTzSpan equivalent to ``self``.toString()
Returns the temporal union of ``self`` and ``other``.upper()
Returns the upper bound of a periodMethods inherited from class types.collections.base.Span
add, as_hexwkb, as_wkb, contains, copy, eq, from_hexwkb, from_wkb, greaterThan, greaterThanOrEqual, hash, is_adjacent, is_contained_in, is_left, is_over_or_left, is_over_or_right, is_right, is_same, lessThan, lessThanOrEqual, lower_inc, minus, mul, notEquals, overlaps, to_spanset, union, upper_inc, width
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface types.collections.base.Collection
contains, is_contained_in, is_left, is_over_or_left, is_over_or_right, is_right, overlaps
-
Field Details
-
_inner
private final jnr.ffi.Pointer _inner
-
-
Constructor Details
-
datespan
public datespan(jnr.ffi.Pointer inner) -
datespan
-
-
Method Details
-
to_spanset
public datespanset to_spanset() throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessExceptionReturns a :class:`DateSpanSet` set containing ``self``. Returns: A new :class:`DateSpanSet` instance MEOS Functions: span_to_spanset -
to_tstzspan
public tstzspan to_tstzspan() throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessExceptionReturns a :class:`TsTzSpan equivalent to ``self``. Returns: A new :class:`TsTzSpan` instance MEOS Functions: datespan_to_tstzspan -
duration
public Duration duration() throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessExceptionReturns the duration of ``self``. Returns: A :class:`datetime.timedelta` instance representing the duration of the :class:`DateSpan` MEOS Functions: datespan_duration -
duration_in_days
public float duration_in_days()Returns the duration of ``self``. Returns: Returns a `float` representing the duration of the :class:`DateSpan` in days MEOS Functions: span_width -
createInner
public jnr.ffi.Pointer createInner(jnr.ffi.Pointer inner) - Specified by:
createInner
in classSpan<LocalDate>
-
createStringInner
- Specified by:
createStringInner
in classSpan<LocalDate>
-
createIntInt
public jnr.ffi.Pointer createIntInt(Number lower, Number upper, boolean lower_inc, boolean upper_inc) - Specified by:
createIntInt
in classSpan<LocalDate>
-
createIntStr
public jnr.ffi.Pointer createIntStr(Number lower, String upper, boolean lower_inc, boolean upper_inc) - Specified by:
createIntStr
in classSpan<LocalDate>
-
createStrStr
public jnr.ffi.Pointer createStrStr(String lower, String upper, boolean lower_inc, boolean upper_inc) - Specified by:
createStrStr
in classSpan<LocalDate>
-
createStrInt
public jnr.ffi.Pointer createStrInt(String lower, Number upper, boolean lower_inc, boolean upper_inc) - Specified by:
createStrInt
in classSpan<LocalDate>
-
createIntIntNb
- Specified by:
createIntIntNb
in classSpan<LocalDate>
-
lower
Description copied from class:Span
Returns the lower bound of a period -
upper
Description copied from class:Span
Returns the upper bound of a period -
get_inner
public jnr.ffi.Pointer get_inner() -
toString
-
date_adt_to_date
Function to convert the integer timestamp to LocalDate format so that it can be used by other libraries -
start_element
public LocalDate start_element() throws org.locationtech.jts.io.ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessExceptionReturns the first date in ``self``. Returns: A :class:`date` instance MEOS Functions: dateset_start_value- Throws:
org.locationtech.jts.io.ParseException
InvocationTargetException
NoSuchMethodException
InstantiationException
IllegalAccessException
-
end_element
public LocalDate end_element() throws org.locationtech.jts.io.ParseException, InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessExceptionReturns the last date in ``self``. Returns: A :class:`date` instance MEOS Functions: dateset_end_value- Throws:
org.locationtech.jts.io.ParseException
InvocationTargetException
NoSuchMethodException
InstantiationException
IllegalAccessException
-
scale
Returns a new :class:`DateSpan` that starts as ``self`` but has duration ``duration``. Examples: >>> DateSpan('[2000-01-01, 2000-01-10]').scale(timedelta(days=2)) >>> 'DateSpan([2000-01-01, 2000-01-03])' Args: duration: :class:`datetime.timedelta` instance representing the duration of the new dateSpan Returns: A new :class:`DateSpan` instance MEOS Functions: datespan_shift_scale -
shift
Returns a new :class:`DateSpan` that is the result of shifting ``self`` by ``delta``. Examples: >>> DateSpan('[2000-01-01, 2000-01-10]').shift(timedelta(days=2)) >>> 'DateSpan([2000-01-03, 2000-01-12])' Args: delta: :class:`datetime.timedelta` instance to shift Returns: A new :class:`DateSpan` instance MEOS Functions: datespan_shift_scale -
shift_scale
Returns a new :class:`DateSpan` that starts at ``self`` shifted by ``shift`` and has duration ``duration`` Examples: >>> DateSpan('[2000-01-01, 2000-01-10]').shift_scale(shift=timedelta(days=2), duration=timedelta(days=4)) >>> 'DateSpan([2000-01-03, 2000-01-07])' Args: shift: :class:`datetime.timedelta` instance to shift duration: :class:`datetime.timedelta` instance representing the duration of the new dateSpan Returns: A new :class:`DateSpan` instance MEOS Functions: datespan_shift_scale -
dateToTimestamp
Returns whether ``self`` temporally contains ``content``. Examples: >>> DateSpan('[2012-01-01, 2012-01-04]').contains(DateSpan('[2012-01-02, 2012-01-03]')) >>> True >>> DateSpan('[2012-01-01, 2012-01-02]').contains(DateSpan('(2012-01-01, 2012-01-02)')) >>> True >>> DateSpan('(2012-01-01, 2012-01-02)').contains(DateSpan('[2012-01-01, 2012-01-02]')) >>> False Args: content: temporal object to compare with Returns: True if contains, False otherwise MEOS Functions: contains_span_span, contains_span_spanset, contains_span_date -
contains
- Throws:
Exception
-
is_adjacent
Returns whether ``self`` is adjacent to ``other``. That is, they share a bound but only one of them contains it. Args: other: object to compare with Returns: True if adjacent, False otherwise MEOS Functions: adjacent_span_span, adjacent_span_spanset, adjacent_span_date- Throws:
Exception
-
overlaps
Returns whether ``self`` temporally overlaps ``other``. That is, both share at least an instant Examples: >>> DateSpan('[2012-01-01, 2012-01-02]').overlaps(DateSpan('[2012-01-02, 2012-01-03]')) >>> True >>> DateSpan('[2012-01-01, 2012-01-02)').overlaps(DateSpan('[2012-01-02, 2012-01-03]')) >>> False >>> DateSpan('[2012-01-01, 2012-01-02)').overlaps(DateSpan('(2012-01-02, 2012-01-03]')) >>> False Args: other: temporal object to compare with Returns: True if overlaps, False otherwise MEOS Functions: overlaps_span_span, overlaps_span_spanset- Throws:
Exception
-
is_left
Returns whether ``self`` is strictly before ``other``. That is, ``self`` ends before ``other`` starts. Examples: >>> DateSpan('[2012-01-01, 2012-01-02)').is_left(DateSpan('[2012-01-02, 2012-01-03]')) >>> True >>> DateSpan('[2012-01-01, 2012-01-02)').is_left(DateSpan('(2012-01-02, 2012-01-03]')) >>> True >>> DateSpan('[2012-01-01, 2012-01-02]').is_left(DateSpan('[2012-01-02, 2012-01-03]')) >>> False Args: other: temporal object to compare with Returns: True if before, False otherwise MEOS Functions: left_span_span, left_span_spanset, before_span_date,- Throws:
Exception
-
is_over_or_left
Returns whether ``self`` is before ``other`` allowing overlap. That is, ``self`` ends before ``other`` ends (or at the same time). Examples: >>> DateSpan('[2012-01-01, 2012-01-02)').is_over_or_left(DateSpan('[2012-01-02, 2012-01-03]')) >>> True >>> DateSpan('[2012-01-01, 2012-01-02]').is_over_or_left(DateSpan('[2012-01-02, 2012-01-03]')) >>> True >>> DateSpan('[2012-01-03, 2012-01-05]').is_over_or_left(DateSpan('[2012-01-01, 2012-01-04]')) >>> False Args: other: temporal object to compare with Returns: True if before, False otherwise MEOS Functions: overleft_span_span, overleft_span_spanset, overbefore_span_date,- Throws:
Exception
-
is_over_or_right
Returns whether ``self`` is after ``other`` allowing overlap. That is, ``self`` starts after ``other`` starts (or at the same time). Examples: >>> DateSet('{2012-01-02, 2012-01-03}').is_over_or_right(DateSpan('[2012-01-01, 2012-01-02)')) >>> True >>> DateSet('{2012-01-02, 2012-01-03}').is_over_or_right(DateSpan('[2012-01-01, 2012-01-02]')) >>> True >>> DateSet('{2012-01-02, 2012-01-03}').is_over_or_right(DateSpan('[2012-01-01, 2012-01-03]')) >>> False Args: other: temporal object to compare with Returns: True if overlapping or after, False otherwise MEOS Functions: overafter_set_date, overright_span_span, overright_span_spanset- Throws:
Exception
-
is_right
Returns whether ``self`` is strictly after ``other``. That is, ``self`` starts after ``other`` ends. Examples: >>> DateSpan('[2012-01-02, 2012-01-03]').is_right(DateSpan('[2012-01-01, 2012-01-02)')) >>> True >>> DateSpan('(2012-01-02, 2012-01-03]').is_right(DateSpan('[2012-01-01, 2012-01-02)')) >>> True >>> DateSpan('[2012-01-02, 2012-01-03]').is_right(DateSpan('[2012-01-01, 2012-01-02]')) >>> False Args: other: temporal object to compare with Returns: True if after, False otherwise MEOS Functions: right_span_span, right_span_spanset, after_span_date,- Throws:
Exception
-
is_before
- Specified by:
is_before
in interfaceTimeCollection
- Throws:
Exception
-
is_over_or_before
- Specified by:
is_over_or_before
in interfaceTimeCollection
- Throws:
Exception
-
is_over_or_after
- Specified by:
is_over_or_after
in interfaceTimeCollection
- Throws:
Exception
-
is_after
- Specified by:
is_after
in interfaceTimeCollection
- Throws:
Exception
-
distance
Returns the temporal distance between ``self`` and ``other``. Args: other: temporal object to compare with Returns: A :class:`datetime.timedelta` instance MEOS Functions: distance_set_date, distance_dateset_dateset, distance_datespanset_datespan, distance_datespanset_datespanset- Throws:
Exception
-
timestampToLocalDateTime
Convert timestamp (number of seconds since epoch) to LocalDateTime -
intersection
Returns the temporal intersection of ``self`` and ``other``. Args: other: temporal object to intersect with Returns: A :class:`TimeDate` instance. The actual class depends on ``other``. MEOS Functions: intersection_set_date, intersection_set_set, intersection_spanset_span, intersection_spanset_spanset- Throws:
Exception
-
minus
Returns the temporal difference of ``self`` and ``other``. Args: other: temporal object to diff with Returns: A :class:`DateSpanSet` instance. MEOS Functions: minus_span_date, minus_span_spanset, minus_span_span- Throws:
Exception
-
timestampToLocalDate
Convert timestamp (number of seconds since epoch) to LocalDate -
subtract_from
- Throws:
Exception
-
union
Returns the temporal union of ``self`` and ``other``. Args: other: temporal object to merge with Returns: A :class:`DateSpanSet` instance. MEOS Functions: union_span_date, union_spanset_span, union_span_span- Throws:
Exception
-