All the models are intended to be unrelated of the database origin.

P.S.: Its not intended to be used outside of ceylon.time and currently its as shared because we need to test it.

By: Diego Coronel, Roland Tepp
AliasNameSource Codeshared AliasName=> String

Alternative name (i.e. alias) of the time zone

DayOfMonthSource Codeshared DayOfMonth=> Integer

Alias to represent a specific day.

Source Codeshared Link=> RealName[2]

Tuple representing the Timezone aliasing rules.

RealNameSource Codeshared RealName=> String

Canonical name of the timezone link expression

YearSource Codeshared Year=> Integer

Alias to represent a specific year.

standardZoneFormatSource Codeshared standardZoneFormat standardZoneFormat
standardZoneRuleSource Codeshared standardZoneRule standardZoneRule
untilPresentSource Codeshared ZoneUntil untilPresent
AbbreviationZoneFormatSource Codeshared AbbreviationZoneFormat
AtGmtTimeSource Codeshared AtGmtTime

GMT time rule.

AtLocalMeanTimeSource Codeshared AtLocalMeanTime

Local mean time rule.

This has always a fixed offset from the UTC.

AtNauticalTimeSource Codeshared AtNauticalTime

Nautical time rule.

AtTimeSource Codeshared abstract AtTime

First, the time that something happens (in the AT column) is not necessarily the local wall clock time.

The time can be suffixed with ‘s’ (for “standard”) to mean local standard time (different from wall clock time when observing daylight saving time); or it can be suffixed with ‘g’, ‘u’, or ‘z’, all three of which mean the standard time at the prime meridan. ‘g’ stands for “GMT”; ‘u’ stands for “UT” or “UTC” (whichever was official at the time); ‘z’ stands for the nautical time zone Z (a.k.a. “Zulu” which, in turn, stands for ‘Z’). The time can also be suffixed with ‘w’ meaning “wall clock time;” but it usually isn’t because that’s the default.

AtUtcTimeSource Codeshared AtUtcTime

UTC time rule.

AtWallClockTimeSource Codeshared AtWallClockTime

Wall clock time rule.

Offset from GMT varies depending wether the DST is in effect at the moment or not.

BasedZoneRuleSource Codeshared BasedZoneRule
OnDaySource Codeshared abstract OnDay

Rule describing the day a rule applieds to.

OnFirstOfMonthSource Codeshared OnFirstOfMonth

Represents a day equal to or higher than a day of week.

For example, given the rule Sun>=1 it can mean one of the following: either June 1. 2014 or June 7. 2015 (or anything in between) depending on the year and month of the overall rule.

OnFixedDaySource Codeshared OnFixedDay

Represents a fixed day of month.

For example, a value 3 on February, 2004, means exactly February 3. 2004.

OnLastOfMonthSource Codeshared OnLastOfMonth

Represents the last day of week, for example:

  • lastSun
  • lastSat

For example, lastSun of February 2015 is February 22, 2015

PairAbbreviationZoneFormatSource Codeshared PairAbbreviationZoneFormat
PeriodZoneRuleSource Codeshared PeriodZoneRule
ReplacedZoneFormatSource Codeshared ReplacedZoneFormat
RuleSource Codeshared Rule

Timezone transition rule.

ZoneFormatSource Codeshared abstract ZoneFormat

It can have one of four forms:

  • standardZoneFormat: the string, “zzz,” which is a kind of null value
  • AbbreviationZoneFormat: a single alphabetic string other than “zzz,” in which case that’s the abbreviation
  • PairAbbreviationZoneFormat: a pair of strings separated by a slash (‘/’), in which case the first string is the abbreviation for the standard time name and the second string is the abbreviation for the daylight saving time name
  • ReplacedZoneFormat: a string containing “%s,” in which case the “%s” will be replaced by the text in the appropriate Rule’s LETTER column
ZoneRuleSource Codeshared abstract ZoneRule

Whether daylight saving time is being observed:

  • standardZoneRule: A hyphen, a kind of null value, means that we have not set our clocks ahead of standard time.
  • PeriodZoneRule: An amount of time (usually but not necessarily 1:00 meaning one hour) means that we have set our clocks ahead by that amount.
  • BasedZoneRule: Some alphabetic string means that we might have set our clocks ahead; and we need to check the rule the name of which is the given alphabetic string.
ZoneTimelineSource Codeshared ZoneTimeline
ZoneUntilSource Codeshared ZoneUntil

To represent a ZoneTimeline that continues until the present you should use untilPresent

standardZoneFormatSource Codeshared standardZoneFormat
standardZoneRuleSource Codeshared standardZoneRule