1200832Sedwin@(#)Theory	8.4
2192890SedwinThis file is in the public domain, so clarified as of
3192890Sedwin2009-05-17 by Arthur David Olson.
4192625Sedwin$FreeBSD$
52702Swollman
642991Swollman----- Outline -----
742991Swollman
842991Swollman	Time and date functions
942991Swollman	Names of time zone regions
1042991Swollman	Time zone abbreviations
11130777Sstefanf	Calendrical issues
12130777Sstefanf	Time and time zones on Mars
1342991Swollman
1442991Swollman----- Time and date functions -----
1542991Swollman
16192625SedwinThese time and date functions are upwards compatible with POSIX,
17130777Sstefanfan international standard for UNIX-like systems.
18192625SedwinAs of this writing, the current edition of POSIX is:
1942991Swollman
20192625Sedwin  Standard for Information technology
21192625Sedwin  -- Portable Operating System Interface (POSIX (R))
22192625Sedwin  -- System Interfaces
23192625Sedwin  IEEE Std 1003.1, 2004 Edition
24192625Sedwin  <http://www.opengroup.org/online-pubs?DOC=7999959899>
25192625Sedwin  <http://www.opengroup.org/pubs/catalog/t041.htm>
2642991Swollman
27192625SedwinPOSIX has the following properties and limitations.
2842991Swollman
29192625Sedwin*	In POSIX, time display in a process is controlled by the
30192625Sedwin	environment variable TZ.  Unfortunately, the POSIX TZ string takes
3142991Swollman	a form that is hard to describe and is error-prone in practice.
32192625Sedwin	Also, POSIX TZ strings can't deal with other (for example, Israeli)
3342991Swollman	daylight saving time rules, or situations where more than two
342702Swollman	time zone abbreviations are used in an area.
352702Swollman
36192625Sedwin	The POSIX TZ string takes the following form:
3742991Swollman
3842991Swollman		stdoffset[dst[offset],date[/time],date[/time]]
3942991Swollman
4042991Swollman	where:
41130777Sstefanf
4242991Swollman	std and dst
4342991Swollman		are 3 or more characters specifying the standard
4442991Swollman		and daylight saving time (DST) zone names.
45192625Sedwin		Starting with POSIX.1-2001, std and dst may also be
46192625Sedwin		in a quoted form like "<UTC+10>"; this allows
47192625Sedwin		"+" and "-" in the names.
4842991Swollman	offset
4942991Swollman		is of the form `[-]hh:[mm[:ss]]' and specifies the
5042991Swollman		offset west of UTC.  The default DST offset is one hour
5142991Swollman		ahead of standard time.
5242991Swollman	date[/time],date[/time]
5342991Swollman		specifies the beginning and end of DST.  If this is absent,
5442991Swollman		the system supplies its own rules for DST, and these can
5542991Swollman		differ from year to year; typically US DST rules are used.
5642991Swollman	time
5742991Swollman		takes the form `hh:[mm[:ss]]' and defaults to 02:00.
5842991Swollman	date
5942991Swollman		takes one of the following forms:
6042991Swollman		Jn (1<=n<=365)
6142991Swollman			origin-1 day number not counting February 29
6242991Swollman		n (0<=n<=365)
6342991Swollman			origin-0 day number counting February 29 if present
6442991Swollman		Mm.n.d (0[Sunday]<=d<=6[Saturday], 1<=n<=5, 1<=m<=12)
6542991Swollman			for the dth day of week n of month m of the year,
6642991Swollman			where week 1 is the first week in which day d appears,
6742991Swollman			and `5' stands for the last week in which day d appears
6842991Swollman			(which may be either the 4th or 5th week).
6942991Swollman
70192625Sedwin	Here is an example POSIX TZ string, for US Pacific time using rules
71192625Sedwin	appropriate from 1987 through 2006:
72192625Sedwin
73192625Sedwin		TZ='PST8PDT,M4.1.0/02:00,M10.5.0/02:00'
74192625Sedwin
75192625Sedwin	This POSIX TZ string is hard to remember, and mishandles time stamps
76192625Sedwin	before 1987 and after 2006.  With this package you can use this
77192625Sedwin	instead:
78192625Sedwin
79192625Sedwin		TZ='America/Los_Angeles'
80192625Sedwin
81192625Sedwin*	POSIX does not define the exact meaning of TZ values like "EST5EDT".
82192625Sedwin	Typically the current US DST rules are used to interpret such values,
8342991Swollman	but this means that the US DST rules are compiled into each program
8442991Swollman	that does time conversion.  This means that when US time conversion
852702Swollman	rules change (as in the United States in 1987), all programs that
862702Swollman	do time conversion must be recompiled to ensure proper results.
872702Swollman
88192625Sedwin*	In POSIX, there's no tamper-proof way for a process to learn the
892702Swollman	system's best idea of local wall clock.  (This is important for
902702Swollman	applications that an administrator wants used only at certain times--
912702Swollman	without regard to whether the user has fiddled the "TZ" environment
9242991Swollman	variable.  While an administrator can "do everything in UTC" to get
932702Swollman	around the problem, doing so is inconvenient and precludes handling
9442991Swollman	daylight saving time shifts--as might be required to limit phone
952702Swollman	calls to off-peak hours.)
962702Swollman
97192625Sedwin*	POSIX requires that systems ignore leap seconds.
982702Swollman
99192625SedwinThese are the extensions that have been made to the POSIX functions:
1002702Swollman
1012702Swollman*	The "TZ" environment variable is used in generating the name of a file
1022702Swollman	from which time zone information is read (or is interpreted a la
1032702Swollman	POSIX); "TZ" is no longer constrained to be a three-letter time zone
1042702Swollman	name followed by a number of hours and an optional three-letter
1052702Swollman	daylight time zone name.  The daylight saving time rules to be used
1062702Swollman	for a particular time zone are encoded in the time zone file;
1072702Swollman	the format of the file allows U.S., Australian, and other rules to be
1082702Swollman	encoded, and allows for situations where more than two time zone
1092702Swollman	abbreviations are used.
1102702Swollman
1112702Swollman	It was recognized that allowing the "TZ" environment variable to
11217211Swollman	take on values such as "America/New_York" might cause "old" programs
1132702Swollman	(that expect "TZ" to have a certain form) to operate incorrectly;
1142702Swollman	consideration was given to using some other environment variable
1152702Swollman	(for example, "TIMEZONE") to hold the string used to generate the
1162702Swollman	time zone information file name.  In the end, however, it was decided
1172702Swollman	to continue using "TZ":  it is widely used for time zone purposes;
1182702Swollman	separately maintaining both "TZ" and "TIMEZONE" seemed a nuisance;
1192702Swollman	and systems where "new" forms of "TZ" might cause problems can simply
1202702Swollman	use TZ values such as "EST5EDT" which can be used both by
1212702Swollman	"new" programs (a la POSIX) and "old" programs (as zone names and
1222702Swollman	offsets).
1232702Swollman
1242702Swollman*	To handle places where more than two time zone abbreviations are used,
1252702Swollman	the functions "localtime" and "gmtime" set tzname[tmp->tm_isdst]
1262702Swollman	(where "tmp" is the value the function returns) to the time zone
127192625Sedwin	abbreviation to be used.  This differs from POSIX, where the elements
1282702Swollman	of tzname are only changed as a result of calls to tzset.
1292702Swollman
1302702Swollman*	Since the "TZ" environment variable can now be used to control time
1312702Swollman	conversion, the "daylight" and "timezone" variables are no longer
13242991Swollman	needed.  (These variables are defined and set by "tzset"; however, their
1332702Swollman	values will not be used by "localtime.")
1342702Swollman
1352702Swollman*	The "localtime" function has been set up to deliver correct results
1362702Swollman	for near-minimum or near-maximum time_t values.  (A comment in the
1372702Swollman	source code tells how to get compatibly wrong results).
1382702Swollman
1392702Swollman*	A function "tzsetwall" has been added to arrange for the system's
1402702Swollman	best approximation to local wall clock time to be delivered by
1412702Swollman	subsequent calls to "localtime."  Source code for portable
1422702Swollman	applications that "must" run on local wall clock time should call
14317211Swollman	"tzsetwall();" if such code is moved to "old" systems that don't
14417211Swollman	provide tzsetwall, you won't be able to generate an executable program.
1452702Swollman	(These time zone functions also arrange for local wall clock time to be
1462702Swollman	used if tzset is called--directly or indirectly--and there's no "TZ"
1472702Swollman	environment variable; portable applications should not, however, rely
1482702Swollman	on this behavior since it's not the way SVR2 systems behave.)
1492702Swollman
150192625Sedwin*	These functions can account for leap seconds, thanks to Bradley White.
1512702Swollman
15242991SwollmanPoints of interest to folks with other systems:
15342991Swollman
15442991Swollman*	This package is already part of many POSIX-compliant hosts,
15542991Swollman	including BSD, HP, Linux, Network Appliance, SCO, SGI, and Sun.
15642991Swollman	On such hosts, the primary use of this package
15742991Swollman	is to update obsolete time zone rule tables.
15842991Swollman	To do this, you may need to compile the time zone compiler
15942991Swollman	`zic' supplied with this package instead of using the system `zic',
16042991Swollman	since the format of zic's input changed slightly in late 1994,
16142991Swollman	and many vendors still do not support the new input format.
16242991Swollman
163130777Sstefanf*	The UNIX Version 7 "timezone" function is not present in this package;
1642702Swollman	it's impossible to reliably map timezone's arguments (a "minutes west
1652702Swollman	of GMT" value and a "daylight saving time in effect" flag) to a
1662702Swollman	time zone abbreviation, and we refuse to guess.
1672702Swollman	Programs that in the past used the timezone function may now examine
1682702Swollman	tzname[localtime(&clock)->tm_isdst] to learn the correct time
16917211Swollman	zone abbreviation to use.  Alternatively, use
17017211Swollman	localtime(&clock)->tm_zone if this has been enabled.
1712702Swollman
17242991Swollman*	The 4.2BSD gettimeofday function is not used in this package.
17342991Swollman	This formerly let users obtain the current UTC offset and DST flag,
17442991Swollman	but this functionality was removed in later versions of BSD.
1752702Swollman
17642991Swollman*	In SVR2, time conversion fails for near-minimum or near-maximum
17742991Swollman	time_t values when doing conversions for places that don't use UTC.
17842991Swollman	This package takes care to do these conversions correctly.
17942991Swollman
18017211SwollmanThe functions that are conditionally compiled if STD_INSPIRED is defined
18117211Swollmanshould, at this point, be looked on primarily as food for thought.  They are
18217211Swollmannot in any sense "standard compatible"--some are not, in fact, specified in
18317211Swollman*any* standard.  They do, however, represent responses of various authors to
1842702Swollmanstandardization proposals.
1852702Swollman
1862702SwollmanOther time conversion proposals, in particular the one developed by folks at
1872702SwollmanHewlett Packard, offer a wider selection of functions that provide capabilities
1882702Swollmanbeyond those provided here.  The absence of such functions from this package
1892702Swollmanis not meant to discourage the development, standardization, or use of such
1902702Swollmanfunctions.  Rather, their absence reflects the decision to make this package
191192625Sedwincontain valid extensions to POSIX, to ensure its broad acceptability.  If
192192625Sedwinmore powerful time conversion functions can be standardized, so much the
193192625Sedwinbetter.
19442991Swollman
19542991Swollman
19642991Swollman----- Names of time zone rule files -----
19742991Swollman
198130777SstefanfThe time zone rule file naming conventions attempt to strike a balance
199130777Sstefanfamong the following goals:
20042991Swollman
201130777Sstefanf * Uniquely identify every national region where clocks have all
202130777Sstefanf   agreed since 1970.  This is essential for the intended use: static
203130777Sstefanf   clocks keeping local civil time.
204130777Sstefanf
205130777Sstefanf * Indicate to humans as to where that region is.  This simplifes use.
206130777Sstefanf
207130777Sstefanf * Be robust in the presence of political changes.  This reduces the
208130777Sstefanf   number of updates and backward-compatibility hacks.  For example,
209130777Sstefanf   names of countries are ordinarily not used, to avoid
210130777Sstefanf   incompatibilities when countries change their name
211130777Sstefanf   (e.g. Zaire->Congo) or when locations change countries
212130777Sstefanf   (e.g. Hong Kong from UK colony to China).
213130777Sstefanf
214130777Sstefanf * Be portable to a wide variety of implementations.
215130777Sstefanf   This promotes use of the technology.
216130777Sstefanf
217130777Sstefanf * Use a consistent naming convention over the entire world.
218130777Sstefanf   This simplifies both use and maintenance.
219130777Sstefanf
220130777SstefanfThis naming convention is not intended for use by inexperienced users
221130777Sstefanfto select TZ values by themselves (though they can of course examine
222130777Sstefanfand reuse existing settings).  Distributors should provide
223130777Sstefanfdocumentation and/or a simple selection interface that explains the
224130777Sstefanfnames; see the 'tzselect' program supplied with this distribution for
225130777Sstefanfone example.
226130777Sstefanf
22742991SwollmanNames normally have the form AREA/LOCATION, where AREA is the name
22842991Swollmanof a continent or ocean, and LOCATION is the name of a specific
22942991Swollmanlocation within that region.  North and South America share the same
23042991Swollmanarea, `America'.  Typical names are `Africa/Cairo', `America/New_York',
23142991Swollmanand `Pacific/Honolulu'.
23242991Swollman
23342991SwollmanHere are the general rules used for choosing location names,
23442991Swollmanin decreasing order of importance:
23542991Swollman
236130777Sstefanf	Use only valid POSIX file name components (i.e., the parts of
237130777Sstefanf		names other than `/').  Within a file name component,
238130777Sstefanf		use only ASCII letters, `.', `-' and `_'.  Do not use
239130777Sstefanf		digits, as that might create an ambiguity with POSIX
240130777Sstefanf		TZ strings.  A file name component must not exceed 14
241130777Sstefanf		characters or start with `-'.  E.g., prefer `Brunei'
242130777Sstefanf		to `Bandar_Seri_Begawan'.
24342991Swollman	Include at least one location per time zone rule set per country.
244130777Sstefanf		One such location is enough.  Use ISO 3166 (see the file
245130777Sstefanf		iso3166.tab) to help decide whether something is a country.
246192625Sedwin		However, uninhabited ISO 3166 regions like Bouvet Island
247192625Sedwin		do not need locations, since local time is not defined there.
24842991Swollman	If all the clocks in a country's region have agreed since 1970,
24942991Swollman		don't bother to include more than one location
25042991Swollman		even if subregions' clocks disagreed before 1970.
25142991Swollman		Otherwise these tables would become annoyingly large.
25242991Swollman	If a name is ambiguous, use a less ambiguous alternative;
25342991Swollman		e.g. many cities are named San Jose and Georgetown, so
25442991Swollman		prefer `Costa_Rica' to `San_Jose' and `Guyana' to `Georgetown'.
25542991Swollman	Keep locations compact.  Use cities or small islands, not countries
25642991Swollman		or regions, so that any future time zone changes do not split
25742991Swollman		locations into different time zones.  E.g. prefer `Paris'
25842991Swollman		to `France', since France has had multiple time zones.
259130777Sstefanf	Use mainstream English spelling, e.g. prefer `Rome' to `Roma', and
26042991Swollman		prefer `Athens' to the true name (which uses Greek letters).
261130777Sstefanf		The POSIX file name restrictions encourage this rule.
26242991Swollman	Use the most populous among locations in a country's time zone,
26342991Swollman		e.g. prefer `Shanghai' to `Beijing'.  Among locations with
26442991Swollman		similar populations, pick the best-known location,
26542991Swollman		e.g. prefer `Rome' to `Milan'.
26642991Swollman	Use the singular form, e.g. prefer `Canary' to `Canaries'.
26742991Swollman	Omit common suffixes like `_Islands' and `_City', unless that
26842991Swollman		would lead to ambiguity.  E.g. prefer `Cayman' to
26942991Swollman		`Cayman_Islands' and `Guatemala' to `Guatemala_City',
27042991Swollman		but prefer `Mexico_City' to `Mexico' because the country
27142991Swollman		of Mexico has several time zones.
27242991Swollman	Use `_' to represent a space.
27342991Swollman	Omit `.' from abbreviations in names, e.g. prefer `St_Helena'
27442991Swollman		to `St._Helena'.
275130777Sstefanf	Do not change established names if they only marginally
276130777Sstefanf		violate the above rules.  For example, don't change
277130777Sstefanf		the existing name `Rome' to `Milan' merely because
278130777Sstefanf		Milan's population has grown to be somewhat greater
279130777Sstefanf		than Rome's.
280130777Sstefanf	If a name is changed, put its old spelling in the `backward' file.
28142991Swollman
28242991SwollmanThe file `zone.tab' lists the geographical locations used to name
283192625Sedwintime zone rule files.  It is intended to be an exhaustive list
284192625Sedwinof canonical names for geographic regions.
28542991Swollman
28642991SwollmanOlder versions of this package used a different naming scheme,
28742991Swollmanand these older names are still supported.
288130777SstefanfSee the file `backward' for most of these older names
28942991Swollman(e.g. `US/Eastern' instead of `America/New_York').
29042991SwollmanThe other old-fashioned names still supported are
29142991Swollman`WET', `CET', `MET', `EET' (see the file `europe'),
29242991Swollmanand `Factory' (see the file `factory').
29342991Swollman
29442991Swollman
29542991Swollman----- Time zone abbreviations -----
29642991Swollman
29742991SwollmanWhen this package is installed, it generates time zone abbreviations
298192625Sedwinlike `EST' to be compatible with human tradition and POSIX.
29942991SwollmanHere are the general rules used for choosing time zone abbreviations,
30042991Swollmanin decreasing order of importance:
30142991Swollman
302130777Sstefanf	Use abbreviations that consist of three or more ASCII letters.
30342991Swollman		Previous editions of this database also used characters like
30442991Swollman		' ' and '?', but these characters have a special meaning to
30542991Swollman		the shell and cause commands like
30642991Swollman			set `date`
307130777Sstefanf		to have unexpected effects.
308130777Sstefanf		Previous editions of this rule required upper-case letters,
309130777Sstefanf		but the Congressman who introduced Chamorro Standard Time
310130777Sstefanf		preferred "ChST", so the rule has been relaxed.
311130777Sstefanf
312130777Sstefanf		This rule guarantees that all abbreviations could have
313192625Sedwin		been specified by a POSIX TZ string.  POSIX
314130777Sstefanf		requires at least three characters for an
315192625Sedwin		abbreviation.  POSIX through 2000 says that an abbreviation
316130777Sstefanf		cannot start with ':', and cannot contain ',', '-',
317192625Sedwin		'+', NUL, or a digit.  POSIX from 2001 on changes this
318192625Sedwin		rule to say that an abbreviation can contain only '-', '+',
319192625Sedwin		and alphanumeric characters from the portable character set
320192625Sedwin		in the current locale.  To be portable to both sets of
321130777Sstefanf		rules, an abbreviation must therefore use only ASCII
322192625Sedwin		letters.
323130777Sstefanf
32442991Swollman	Use abbreviations that are in common use among English-speakers,
32542991Swollman		e.g. `EST' for Eastern Standard Time in North America.
32642991Swollman		We assume that applications translate them to other languages
32742991Swollman		as part of the normal localization process; for example,
32842991Swollman		a French application might translate `EST' to `HNE'.
329130777Sstefanf
33042991Swollman	For zones whose times are taken from a city's longitude, use the
33142991Swollman		traditional xMT notation, e.g. `PMT' for Paris Mean Time.
33242991Swollman		The only name like this in current use is `GMT'.
333130777Sstefanf
33442991Swollman	If there is no common English abbreviation, abbreviate the English
33542991Swollman		translation of the usual phrase used by native speakers.
33642991Swollman		If this is not available or is a phrase mentioning the country
33742991Swollman		(e.g. ``Cape Verde Time''), then:
33842991Swollman
33942991Swollman		When a country has a single or principal time zone region,
34042991Swollman			append `T' to the country's ISO	code, e.g. `CVT' for
34142991Swollman			Cape Verde Time.  For summer time append `ST';
34242991Swollman			for double summer time append `DST'; etc.
34342991Swollman		When a country has multiple time zones, take the first three
34442991Swollman			letters of an English place name identifying each zone
34542991Swollman			and then append `T', `ST', etc. as before;
34642991Swollman			e.g. `VLAST' for VLAdivostok Summer Time.
34742991Swollman
348192625Sedwin	Use UTC (with time zone abbreviation "zzz") for locations while
349192625Sedwin		uninhabited.  The "zzz" mnemonic is that these locations are,
350192625Sedwin		in some sense, asleep.
351130777Sstefanf
35242991SwollmanApplication writers should note that these abbreviations are ambiguous
35342991Swollmanin practice: e.g. `EST' has a different meaning in Australia than
35442991Swollmanit does in the United States.  In new applications, it's often better
35542991Swollmanto use numeric UTC offsets like `-0500' instead of time zone
35642991Swollmanabbreviations like `EST'; this avoids the ambiguity.
357130777Sstefanf
358130777Sstefanf
359130777Sstefanf----- Calendrical issues -----
360130777Sstefanf
361130777SstefanfCalendrical issues are a bit out of scope for a time zone database,
362130777Sstefanfbut they indicate the sort of problems that we would run into if we
363130777Sstefanfextended the time zone database further into the past.  An excellent
364200832Sedwinresource in this area is Nachum Dershowitz and Edward M. Reingold,
365200832Sedwin<a href="http://emr.cs.iit.edu/home/reingold/calendar-book/third-edition/">
366200832SedwinCalendrical Calculations: Third Edition
367200832Sedwin</a>, Cambridge University Press (2008).  Other information and
368130777Sstefanfsources are given below.  They sometimes disagree.
369130777Sstefanf
370130777Sstefanf
371130777SstefanfFrance
372130777Sstefanf
373130777SstefanfGregorian calendar adopted 1582-12-20.
374130777SstefanfFrench Revolutionary calendar used 1793-11-24 through 1805-12-31,
375130777Sstefanfand (in Paris only) 1871-05-06 through 1871-05-23.
376130777Sstefanf
377130777Sstefanf
378130777SstefanfRussia
379130777Sstefanf
380192625SedwinFrom Chris Carrier (1996-12-02):
381130777SstefanfOn 1929-10-01 the Soviet Union instituted an ``Eternal Calendar''
382130777Sstefanfwith 30-day months plus 5 holidays, with a 5-day week.
383130777SstefanfOn 1931-12-01 it changed to a 6-day week; in 1934 it reverted to the
384130777SstefanfGregorian calendar while retaining the 6-day week; on 1940-06-27 it
385130777Sstefanfreverted to the 7-day week.  With the 6-day week the usual days
386130777Sstefanfoff were the 6th, 12th, 18th, 24th and 30th of the month.
387130777Sstefanf(Source: Evitiar Zerubavel, _The Seven Day Circle_)
388130777Sstefanf
389130777Sstefanf
390130777SstefanfMark Brader reported a similar story in "The Book of Calendars", edited
391130777Sstefanfby Frank Parise (1982, Facts on File, ISBN 0-8719-6467-8), page 377.  But:
392130777Sstefanf
393130777SstefanfFrom: Petteri Sulonen (via Usenet)
394130777SstefanfDate: 14 Jan 1999 00:00:00 GMT
395192625Sedwin...
396130777Sstefanf
397130777SstefanfIf your source is correct, how come documents between 1929 -- 1940 were
398130777Sstefanfstill dated using the conventional, Gregorian calendar?
399130777Sstefanf
400130777SstefanfI can post a scan of a document dated December 1, 1934, signed by
401130777SstefanfYenukidze, the secretary, on behalf of Kalinin, the President of the
402130777SstefanfExecutive Committee of the Supreme Soviet, if you like.
403130777Sstefanf
404130777Sstefanf
405130777Sstefanf
406130777SstefanfSweden (and Finland)
407130777Sstefanf
408192625SedwinFrom: Mark Brader
409130777Sstefanf<a href="news:1996Jul6.012937.29190@sq.com">
410130777SstefanfSubject: Re: Gregorian reform -- a part of locale?
411130777Sstefanf</a>
412130777SstefanfDate: 1996-07-06
413130777Sstefanf
414130777SstefanfIn 1700, Denmark made the transition from Julian to Gregorian.  Sweden
415130777Sstefanfdecided to *start* a transition in 1700 as well, but rather than have one of
416130777Sstefanfthose unsightly calendar gaps :-), they simply decreed that the next leap
417130777Sstefanfyear after 1696 would be in 1744 -- putting the whole country on a calendar
418130777Sstefanfdifferent from both Julian and Gregorian for a period of 40 years.
419130777Sstefanf
420130777SstefanfHowever, in 1704 something went wrong and the plan was not carried through;
421130777Sstefanfthey did, after all, have a leap year that year.  And one in 1708.  In 1712
422130777Sstefanfthey gave it up and went back to Julian, putting 30 days in February that
423130777Sstefanfyear!...
424130777Sstefanf
425130777SstefanfThen in 1753, Sweden made the transition to Gregorian in the usual manner,
426130777Sstefanfgetting there only 13 years behind the original schedule.
427130777Sstefanf
428130777Sstefanf(A previous posting of this story was challenged, and Swedish readers
429130777Sstefanfproduced the following references to support it: "Tiderakning och historia"
430130777Sstefanfby Natanael Beckman (1924) and "Tid, en bok om tiderakning och
431130777Sstefanfkalendervasen" by Lars-Olof Lode'n (no date was given).)
432130777Sstefanf
433130777Sstefanf
434130777SstefanfGrotefend's data
435130777Sstefanf
436192625SedwinFrom: "Michael Palmer" [with one obvious typo fixed]
437130777SstefanfSubject: Re: Gregorian Calendar (was Re: Another FHC related question
438130777SstefanfNewsgroups: soc.genealogy.german
439130777SstefanfDate: Tue, 9 Feb 1999 02:32:48 -800
440192625Sedwin...
441130777Sstefanf
442130777SstefanfThe following is a(n incomplete) listing, arranged chronologically, of
443130777SstefanfEuropean states, with the date they converted from the Julian to the
444130777SstefanfGregorian calendar:
445130777Sstefanf
446130777Sstefanf04/15 Oct 1582 - Italy (with exceptions), Spain, Portugal, Poland (Roman
447130777Sstefanf                 Catholics and Danzig only)
448130777Sstefanf09/20 Dec 1582 - France, Lorraine
449130777Sstefanf
450130777Sstefanf21 Dec 1582/
451130777Sstefanf   01 Jan 1583 - Holland, Brabant, Flanders, Hennegau
452130777Sstefanf10/21 Feb 1583 - bishopric of Liege (L"uttich)
453130777Sstefanf13/24 Feb 1583 - bishopric of Augsburg
454130777Sstefanf04/15 Oct 1583 - electorate of Trier
455130777Sstefanf05/16 Oct 1583 - Bavaria, bishoprics of Freising, Eichstedt, Regensburg,
456130777Sstefanf                 Salzburg, Brixen
457130777Sstefanf13/24 Oct 1583 - Austrian Oberelsass and Breisgau
458130777Sstefanf20/31 Oct 1583 - bishopric of Basel
459130777Sstefanf02/13 Nov 1583 - duchy of J"ulich-Berg
460130777Sstefanf02/13 Nov 1583 - electorate and city of K"oln
461130777Sstefanf04/15 Nov 1583 - bishopric of W"urzburg
462130777Sstefanf11/22 Nov 1583 - electorate of Mainz
463130777Sstefanf16/27 Nov 1583 - bishopric of Strassburg and the margraviate of Baden
464130777Sstefanf17/28 Nov 1583 - bishopric of M"unster and duchy of Cleve
465130777Sstefanf14/25 Dec 1583 - Steiermark
466130777Sstefanf
467130777Sstefanf06/17 Jan 1584 - Austria and Bohemia
468130777Sstefanf11/22 Jan 1584 - Luzern, Uri, Schwyz, Zug, Freiburg, Solothurn
469130777Sstefanf12/23 Jan 1584 - Silesia and the Lausitz
470130777Sstefanf22 Jan/
471130777Sstefanf   02 Feb 1584 - Hungary (legally on 21 Oct 1587)
472130777Sstefanf      Jun 1584 - Unterwalden
473130777Sstefanf01/12 Jul 1584 - duchy of Westfalen
474130777Sstefanf
475130777Sstefanf16/27 Jun 1585 - bishopric of Paderborn
476130777Sstefanf
477130777Sstefanf14/25 Dec 1590 - Transylvania
478130777Sstefanf
479130777Sstefanf22 Aug/
480130777Sstefanf   02 Sep 1612 - duchy of Prussia
481130777Sstefanf
482130777Sstefanf13/24 Dec 1614 - Pfalz-Neuburg
483130777Sstefanf
484130777Sstefanf          1617 - duchy of Kurland (reverted to the Julian calendar in
485130777Sstefanf                 1796)
486130777Sstefanf
487130777Sstefanf          1624 - bishopric of Osnabr"uck
488130777Sstefanf
489130777Sstefanf          1630 - bishopric of Minden
490130777Sstefanf
491130777Sstefanf15/26 Mar 1631 - bishopric of Hildesheim
492130777Sstefanf
493130777Sstefanf          1655 - Kanton Wallis
494130777Sstefanf
495130777Sstefanf05/16 Feb 1682 - city of Strassburg
496130777Sstefanf
497130777Sstefanf18 Feb/
498130777Sstefanf   01 Mar 1700 - Protestant Germany (including Swedish possessions in
499130777Sstefanf                 Germany), Denmark, Norway
500130777Sstefanf30 Jun/
501130777Sstefanf   12 Jul 1700 - Gelderland, Zutphen
502130777Sstefanf10 Nov/
503130777Sstefanf   12 Dec 1700 - Utrecht, Overijssel
504130777Sstefanf
505130777Sstefanf31 Dec 1700/
506130777Sstefanf   12 Jan 1701 - Friesland, Groningen, Z"urich, Bern, Basel, Geneva,
507130777Sstefanf                 Turgau, and Schaffhausen
508130777Sstefanf
509130777Sstefanf          1724 - Glarus, Appenzell, and the city of St. Gallen
510130777Sstefanf
511130777Sstefanf01 Jan 1750    - Pisa and Florence
512130777Sstefanf
513130777Sstefanf02/14 Sep 1752 - Great Britain
514130777Sstefanf
515130777Sstefanf17 Feb/
516130777Sstefanf   01 Mar 1753 - Sweden
517130777Sstefanf
518130777Sstefanf1760-1812      - Graub"unden
519130777Sstefanf
520130777SstefanfThe Russian empire (including Finland and the Baltic states) did not
521130777Sstefanfconvert to the Gregorian calendar until the Soviet revolution of 1917.
522130777Sstefanf
523130777SstefanfSource:  H. Grotefend, _Taschenbuch der Zeitrechnung des deutschen
524130777SstefanfMittelalters und der Neuzeit_, herausgegeben von Dr. O. Grotefend
525130777Sstefanf(Hannover:  Hahnsche Buchhandlung, 1941), pp. 26-28.
526130777Sstefanf
527130777Sstefanf
528130777Sstefanf----- Time and time zones on Mars -----
529130777Sstefanf
530130777SstefanfSome people have adjusted their work schedules to fit Mars time.
531130777SstefanfDozens of special Mars watches were built for Jet Propulsion
532130777SstefanfLaboratory workers who kept Mars time during the Mars Exploration
533130777SstefanfRovers mission (2004).  These timepieces look like normal Seikos and
534130777SstefanfCitizens but use Mars seconds rather than terrestrial seconds.
535130777Sstefanf
536130777SstefanfA Mars solar day is called a "sol" and has a mean period equal to
537130777Sstefanfabout 24 hours 39 minutes 35.244 seconds in terrestrial time.  It is
538130777Sstefanfdivided into a conventional 24-hour clock, so each Mars second equals
539130777Sstefanfabout 1.02749125 terrestrial seconds.
540130777Sstefanf
541130777SstefanfThe prime meridian of Mars goes through the center of the crater
542130777SstefanfAiry-0, named in honor of the British astronomer who built the
543130777SstefanfGreenwich telescope that defines Earth's prime meridian.  Mean solar
544130777Sstefanftime on the Mars prime meridian is called Mars Coordinated Time (MTC).
545130777Sstefanf
546130777SstefanfEach landed mission on Mars has adopted a different reference for
547130777Sstefanfsolar time keeping, so there is no real standard for Mars time zones.
548130777SstefanfFor example, the Mars Exploration Rover project (2004) defined two
549130777Sstefanftime zones "Local Solar Time A" and "Local Solar Time B" for its two
550130777Sstefanfmissions, each zone designed so that its time equals local true solar
551130777Sstefanftime at approximately the middle of the nominal mission.  Such a "time
552130777Sstefanfzone" is not particularly suited for any application other than the
553130777Sstefanfmission itself.
554130777Sstefanf
555130777SstefanfMany calendars have been proposed for Mars, but none have achieved
556130777Sstefanfwide acceptance.  Astronomers often use Mars Sol Date (MSD) which is a
557130777Sstefanfsequential count of Mars solar days elapsed since about 1873-12-29
558130777Sstefanf12:00 GMT.
559130777Sstefanf
560130777SstefanfThe tz database does not currently support Mars time, but it is
561130777Sstefanfdocumented here in the hopes that support will be added eventually.
562130777Sstefanf
563130777SstefanfSources:
564130777Sstefanf
565130777SstefanfMichael Allison and Robert Schmunk,
566130777Sstefanf"Technical Notes on Mars Solar Time as Adopted by the Mars24 Sunclock"
567192625Sedwin<http://www.giss.nasa.gov/tools/mars24/help/notes.html> (2004-07-30).
568130777Sstefanf
569130777SstefanfJia-Rui Chong, "Workdays Fit for a Martian", Los Angeles Times
570130777Sstefanf(2004-01-14), pp A1, A20-A21.
571