Theiling Online    Sitemap    Conlang Mailing List HQ   

Re: Programming a calendar system

From:Mark J. Reed <markjreed@...>
Date:Thursday, April 29, 2004, 21:03
On Thu, Apr 29, 2004 at 08:59:09PM +0200, Carsten Becker wrote:
> The planet's name is AREQA with a Q, but anyway.
Sorry.
> I haven't got any names for months etc. yet, I just want to have the > maths first.
> The solar year is 456,25 days long, the calendar year has only 456 > days. Thus, in 4 years, the year is 1 day too long.
No, you have that backwards. If the solar year is 456.25 days long, then four solar years are 456.25 x 4 = 1,825 days. Whereas four calendar years are only 456 x 4 = 1,824 days. So you need to *add* one calendar day, just as with our calendar, which has approximately the same fraction (one year = 365.25 days, so we *add* a day, Feb 29th, to every fourth year). So either you make every fourth year longer, like on our calendar, or make your average year length 455.75 days instead of 456.25 days. I would go with the 455.75-day year, since that's more unlike our calendar.
> My birthday is August 26, 1986. For me, 1986-1000=986 ... sh**, it > should have been -2000 years to get -986! Sorry!
> As for the time the calendar starts (~10:18pm)
Okay. So, the first day of the first month of the first year of the Areqan epoch began at 10:18 pm (is that Universal Time?) on August 26, -986 AD (= 987 BC) "on our calendar". The "our calendar" is somewhat ambiguous, as our current calender is the Gregorian, while the calendar usually used for historical dates prior to 1582 AD is the Julian. But if I assume your intent is exactly 2000 years before your birthday according to our current idea of what constitutes a "year" - that is, a Gregorian year - then that would mean that the above date is in the Gregorian calendar, which corresponds to September 4, 987 BC in the Julian. That's our first correspondence, but using it every time we want to calculate the current time would be more complicated than that job needs to be. It would be better to have a known point in terms of UNIX time_t, in the range of representable dates. In order to find that, the next step will be to find the Areqan date of UNIX time 0, that is, January 1st, 1970 at midnight UTC. Chances are that will not be a convenient Areqan date, but we can then count forward to find the UNIX time_t value of a date that is more convenient *and* within the range of dates representable by a time_t (which 987 BC is, sadly, not). Then we can calculate based on that. More later. -Mark

Reply

Mark J. Reed <markjreed@...>