| Interface | osid.calendaring.DateTime | ||
|---|---|---|---|
| Implements | osid.OsidPrimitive | ||
| Description |
The DateTime interface defines a date and/or time. This interface provides a very broad range of dates, describes more or less precision, and/or conveys an uncertainty. A number of convenience methods for retrieving time elements are available but only those methods covered by the specified granularity are valid. A typical example is describing a day where the time isn't known, and the event did not occur at midnight.
getMillennium() == 2
getCentury() == 18
getYear() == 1776
getMonth() == 7
getDay() == 4
getHour() == 0
getGranularity() == DateTimeResolution.DAY
definesUncertainty() == false
Another example showing that the time is probably 1pm but could have been as late as 3pm or early as noon.
getMillennium() == 3
getCentury() == 21
getYear() == 2008
getMonth() == 3
getDay() == 17
getHour() == 13
getMinute() == 0
getGranularity() == TimeResolution.MINUTE
definesUncertainty() == true
getUncertaintyGranularity() == DateTimeResolution.HOUR
getUncertaintyMinus() == 1
getUncertaintyPlus == 2
An example marking the birth of the universe. 13.73 billion years +/- 120 million years. The granularity suggests that no more resolution than one million years can be inferred from the "clock", making errors in the exact number of millennia insignificant.
getEpoch() == -13,730
getMillennium() == 0
getCentury() == 0
getYear() == 0
getGranularity() == TimeResolution.EPOCH
definesUncertainty() == true
getUncertaintyGranularity() == DateTimeResolution.EPOCH
getUncertaintyMinus() == 120
getUncertaintyPlus == 120
| ||
| Method | getCalendarType | ||
| Description |
Gets the calendar type. | ||
| Return | osid.type.Type | the calendar type | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAeon | ||
| Description |
Gets the aeon starting from 1. An aeon is 1B years. | ||
| Return | integer | the aeon | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getEpoch | ||
| Description |
Gets the epoch starting from 1. An epoch is 1M years. | ||
| Return | integer | the eposh | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getMillennium | ||
| Description |
Gets the millennium starting from 1. A millenium is 1,000 years. | ||
| Return | integer | the millennium | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getCentury | ||
| Description |
Gets the century starting from 1. | ||
| Return | integer | the century | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getYear | ||
| Description |
Gets the year starting from 1. | ||
| Return | integer | the year | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getMonth | ||
| Description |
Gets the month number starting from 1. | ||
| Return | cardinal | the month | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getDay | ||
| Description |
Gets the day of the month starting from 1. | ||
| Return | cardinal | the day of the month | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getTimeType | ||
| Description |
Gets the time type. | ||
| Return | osid.type.Type | the time type | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getHour | ||
| Description |
Gets the hour of the day 0-23. | ||
| Return | cardinal | the hour of the day | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getMinute | ||
| Description |
Gets the minute of the hour 0-59. | ||
| Return | cardinal | the minute of the hour | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getSecond | ||
| Description |
Gets the second of the minute 0-59. | ||
| Return | cardinal | the second of the minute | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getMilliseconds | ||
| Description |
Gets the number of milliseconds in this second 0-999. A millisecond is one thousandth of a second. | ||
| Return | cardinal | the milliseconds of the second | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getMicroseconds | ||
| Description |
Gets the number of microseconds of the second 0-999. A microsecond is one millionth of a second. | ||
| Return | cardinal | the micrseconds of the millisecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getNanoseconds | ||
| Description |
Gets the number of nanoseconds of the microsecond 0-999. A nanosecond is one billionth of a second. | ||
| Return | cardinal | the nanoseconds of the microsecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getPicoseconds | ||
| Description |
Gets the number of picoseconds of the nanosecond 0-999. A picosecond is one trillionth of a second. | ||
| Return | cardinal | the picoseconds of the nanosecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getFemtoseconds | ||
| Description |
Gets the number of femtoseconds of the picosecond 0-999. A femtosecond is one quadrillionth of a second. | ||
| Return | cardinal | the femtoseconds of the picosecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getAttoseconds | ||
| Description |
Gets the number of attoseconds of the femtoseconds 0-999. An attosecond is one quintillionth of a second. | ||
| Return | cardinal | the attoseconds of the femtosecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getZeptoseconds | ||
| Description |
Gets the number of zeptoseconds of the attosecond 0-999. A zeptosecond is one sextillionth of a second. | ||
| Return | cardinal | the zeptoseconds of the attosecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getYoctoseconds | ||
| Description |
Gets the number of yoctoseconds of the picosecond 0-999. A yoctosecond is one septillionth of a second. This is getting quite small. | ||
| Return | cardinal | the yoctoseconds of the picosecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getXoxxoseconds | ||
| Description |
Gets the number of xoxxoseconds of the yoctosecond 0-999. A xoxxosecond is one octillionth of a second. We're going with Rudy Rucker here. | ||
| Return | cardinal | the xoxxoseconds of the yoctosecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getWeebleseconds | ||
| Description |
Gets the number of weebleseconds of the xoxxosecond 0-999. A weeblesecond is one nonillionth of a second. | ||
| Return | cardinal | the weebleseconds of the xoxxoseconds | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getVatoseconds | ||
| Description |
Gets the number of vatoseconds of the xoxxosecond 0-999. A vatosecond is one decillionth of a second. | ||
| Return | cardinal | the vatoseconds of the weeblesecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getUndaseconds | ||
| Description |
Gets the number of undaseconds of the vatosecond 0-999. An undasecond is one unadecillionth of a second. | ||
| Return | cardinal | the undaseconds of the vatosecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getPlanckSeconds | ||
| Description |
Gets the number of Plancks of the vatoseconds. A Planck is 10 quattuordecillionths of a second. | ||
| Return | cardinal | the plancks of the undasecond | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getGranularity | ||
| Description |
Gets the granularity of this time. The granularity indicates the resolution of the clock. More precision than what is specified in this method cannot be inferred from the available data. | ||
| Return | osid.calendaring.DateTimeResolution | granularity | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getGranularityMultiplier | ||
| Description |
If the granularity of the time equals | ||
| Return | cardinal | granularity multiplier | |
| Compliance | mandatory | This method must be implemented. | |
| Method | definesUncertainty | ||
| Description |
Tests if uncertainty is defined for this time. | ||
| Return | boolean | true if uncertainty is defined, false
otherwise | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getUncertaintyUnits | ||
| Description |
Gets the units of the uncertainty. | ||
| Return | osid.calendaring.DateTimeResolution | units of the uncertainty | |
| Errors | ILLEGAL_STATE | definesUncertainty() is false | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getUncertaintyMinus | ||
| Description |
Gets the uncertainty of this time in the negative direction. | ||
| Return | cardinal | the uncertainty under this value | |
| Errors | ILLEGAL_STATE | definesUncertainty() is false | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getUncertaintyPlus | ||
| Description |
Gets the uncertainty of this time in the positive direction. | ||
| Return | cardinal | the uncertainty over this value | |
| Errors | ILLEGAL_STATE | definesUncertainty() is false | |
| Compliance | mandatory | This method must be implemented. | |
| Method | isUncertaintyDateInclusive | ||
| Description |
Tests if the uncertainty is inclusive of all dates. An inclusive uncertainty includes the entire range specified by the uncertainty units e.g. +/- 1 year includes all of the months and days within that interval. A non-inclusive uncertainty would mean the year is uncertain but the month and day is certain. | ||
| Return | boolean | true if the uncertainty includes all dates, false
otherwise | |
| Errors | ILLEGAL_STATE | definesUncertainty() is false | |
| Compliance | mandatory | This method must be implemented. | |
| Method | isUncertaintyTimeInclusive | ||
| Description |
Tests if the uncertainty is time inclusive. An inclusive uncertainty includes the entire range specified by the uncertainty units e.g. +/- 1 year includes all of the seconds within that interval. A non-inclusive uncertainty would mean the year is uncertain but the time is certain. | ||
| Return | boolean | true if the uncertainty includes all times, false
otherwise | |
| Errors | ILLEGAL_STATE | definesUncertainty() is false | |
| Compliance | mandatory | This method must be implemented. | |