JSON_VALUE_TYPE_ENTITY_ID, JSON_VALUE_TYPE_GLOBE_COORDINATES, JSON_VALUE_TYPE_MONOLINGUAL_TEXT, JSON_VALUE_TYPE_QUANTITY, JSON_VALUE_TYPE_STRING, JSON_VALUE_TYPE_TIME
CM_GREGORIAN_PRO, CM_JULIAN_PRO, PREC_100KY, PREC_100MY, PREC_100Y, PREC_10KY, PREC_10MY, PREC_1GY, PREC_1KY, PREC_1MY, PREC_DAY, PREC_DECADE, PREC_HOUR, PREC_MINUTE, PREC_MONTH, PREC_SECOND, PREC_YEAR
Constructor and Description |
---|
TimeValueImpl(long year,
byte month,
byte day,
byte hour,
byte minute,
byte second,
byte precision,
int beforeTolerance,
int afterTolerance,
int timezoneOffset,
String calendarModel)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
<T> T |
accept(ValueVisitor<T> valueVisitor)
Accept a ValueVisitor and return its output.
|
boolean |
equals(Object obj) |
int |
getAfterTolerance()
Get a tolerance value that specifies how much later in time the value
could at most be, measured as a multiple of
precision . |
int |
getBeforeTolerance()
Get a tolerance value that specifies how much earlier in time the value
could at most be, measured as a multiple of
precision . |
byte |
getDay()
Get the day stored for this date.
|
byte |
getHour()
Get the hour stored for this date.
|
byte |
getMinute()
Get the minute stored for this date.
|
byte |
getMonth()
Get the month stored for this date.
|
byte |
getPrecision()
Get the precision hint of this date.
|
String |
getPreferredCalendarModel()
Get the IRI of the preferred calendar model that should be used to
display this date (and that was presumably used when entering it).
|
ItemIdValue |
getPreferredCalendarModelItemId()
Get the
ItemIdValue of the preferred calendar model that should
be used to display this date (and that was presumably used when entering it). |
byte |
getSecond()
Get the seconds stored for this date.
|
int |
getTimezoneOffset()
Get the offset in minutes from UTC that should be applied when displaying
this time to users.
|
org.wikidata.wdtk.datamodel.implementation.TimeValueImpl.JacksonInnerTime |
getValue()
Returns the inner value helper object.
|
long |
getYear()
Get the year stored for this date.
|
int |
hashCode() |
TimeValue |
toGregorian()
Convert the value to the Gregorian calendar, if possible.
|
String |
toString() |
public TimeValueImpl(long year, byte month, byte day, byte hour, byte minute, byte second, byte precision, int beforeTolerance, int afterTolerance, int timezoneOffset, String calendarModel)
year
- a year number, where 0 refers to 1BCEmonth
- a month number between 1 and 12day
- a day number between 1 and 31hour
- an hour number between 0 and 23minute
- a minute number between 0 and 59second
- a second number between 0 and 60 (possible leap second)precision
- a value in the range of TimeValue.PREC_DAY
, ...,
TimeValue.PREC_1GY
beforeTolerance
- non-negative integer tolerance before the value; see
TimeValue.getBeforeTolerance()
afterTolerance
- non-zero, positive integer tolerance before the value; see
TimeValue.getAfterTolerance()
calendarModel
- the IRI of the calendar model preferred when displaying the
date; usually TimeValue.CM_GREGORIAN_PRO
or
TimeValue.CM_JULIAN_PRO
timezoneOffset
- offset in minutes that should be applied when displaying this
timepublic org.wikidata.wdtk.datamodel.implementation.TimeValueImpl.JacksonInnerTime getValue()
public long getYear()
TimeValue
public byte getMonth()
TimeValue
public byte getDay()
TimeValue
public byte getHour()
TimeValue
public byte getMinute()
TimeValue
public byte getSecond()
TimeValue
public String getPreferredCalendarModel()
TimeValue
TimeValue.CM_GREGORIAN_PRO
or
TimeValue.CM_JULIAN_PRO
.getPreferredCalendarModel
in interface TimeValue
public ItemIdValue getPreferredCalendarModelItemId()
TimeValue
ItemIdValue
of the preferred calendar model that should
be used to display this date (and that was presumably used when entering it).getPreferredCalendarModelItemId
in interface TimeValue
public byte getPrecision()
TimeValue
TimeValue.PREC_DAY
, ..., TimeValue.PREC_1GY
.getPrecision
in interface TimeValue
public int getTimezoneOffset()
TimeValue
getTimezoneOffset
in interface TimeValue
public int getBeforeTolerance()
TimeValue
precision
. The value is a non-negative integer.
For example, for the date 2007-05-12T10:45:00 with precision
TimeValue.PREC_MONTH
, a before-tolerance value of 3 means that
the earliest possible time of this event could have been
2007-02-12T10:45:00. This information about the uncertainty of time
points can be taken into account in query answering, but simplified
implementations can also ignore it and work with the given (exact) time
point instead. If not set specifically by the user, the before-tolerance
value should be 0, i.e., the given time point marks the earliest possible
time.
This boundary is inclusive. For example, a date 2014-02-17T00:00:00 with
precision TimeValue.PREC_DAY
and before-tolerance value 1
specifies a time that between 2014-02-17T00:00:00
getBeforeTolerance
in interface TimeValue
TimeValue.getAfterTolerance()
public int getAfterTolerance()
TimeValue
precision
. The value is a positive integer.
For example, for the date 2007-05-12T10:45:00 with precision
TimeValue.PREC_MONTH
, an after-tolerance value of 2 means that
the latest possible time of this event could have been strictly before
2007-07-12T10:45:00. This information about the uncertainty of time
points can be taken into account in query answering, but simplified
implementations can also ignore it and work with the given (exact) time
point instead. If not set specifically by the user, the after-tolerance
value should be 1, i.e., the interval of uncertainty is exactly the
length given by precision. However, because most (if not all) other
known implementations of the data model got this detail wrong and use 0
instead, we are also using 0 as a default value. This issue is tracked
at https://phabricator.wikimedia.org/T194869.
The boundary is exclusive. For example, a date 2013-02-01T00:00:00 with
precision TimeValue.PREC_MONTH
and after-tolerance value 1 and
before-tolerance value of 0 specifies a time "sometime in February 2013",
but it excludes any time in March 2013. The after-tolerance must not be 0
(which would make no sense if the bound is exclusive, and which is not
needed since precision up to a single second can be specified anyway).
getAfterTolerance
in interface TimeValue
TimeValue.getBeforeTolerance()
public <T> T accept(ValueVisitor<T> valueVisitor)
Value
public TimeValue toGregorian()
TimeValue
toGregorian
in interface TimeValue
Copyright © 2014–2024 Wikidata Toolkit Developers. Generated from source code published under the Apache License 2.0. For more information, see the Wikidata Toolkit homepage