OSID Specifications

calendaring package

Version 3.0.0

Release Candidate Preview

calendaring package

Version 3.0.0

Release Candidate Preview

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. |