develooper Front page | perl.perl5.porters | Postings from February 2009

Re: Hodie!

Thread Previous
February 12, 2009 12:06
Re: Hodie!
Message ID:
Tom Christiansen wrote:
>    I was born at    E -217132020: Wed Feb 13 15:33:00 CST 1963.

I've been counting my age in seconds for some time now, so it's good
to see other people doing this sort of arithmetic.  I don't use the
Unix epoch, though, for the reason that you allude to in your signature

>    It is inappropriate to require that a time represented as
>    seconds since the Epoch precisely represent the number of
>    seconds between the referenced time and the Epoch.

Unix timekeeping is even less well founded than this implies, in that
the Epoch is not a precisely identifiable time.  As I wrote in Wikipedia:

    The Unix epoch is the time 00:00:00 UTC on January 1, 1970. There
    is a problem with this definition, in that UTC did not exist in its
    current form until 1972.

For purposes of excruciatingly correct timekeeping, I count TAI seconds,
and use an epoch of 1958-01-01T00:00:00Z, which is when TAI was initially
synchronised with UT.  I was born some 601.266 Ms after this epoch, so
each of my 100 Ms birthdays shortly follows a similar birthday of TAI.
Actually I celebrate every 50 Ms, since three years is a bit long to
wait for a birthday.  (I don't celebrate year-based anniversaries of my
birth at all.)

Of course, most people's birth times, mine included, aren't recorded
with sufficient precision to make the difference between TAI and UT
significant.  I use Unix time, in the form of Perl libraries, to determine
on which calendar day my future birthdays fall, because precise conversion
between TAI and UTC is not possible more than a few months ahead.

>                                     Otherwise each day seems to span
>50 (FIFTY!) hours, ranging from UTC+14 .. UTC-12 and spanning the IDL.

You might expect that you'd only see such a length to the day when
looking at several timezones, but in some rare cases a single locality
has seen it.  Notably Alaska, which in being purchased from Russia
jumped eastwards across the IDL, and so saw 48 consecutive hours of
Friday 1867-10-18.  This was made less confusing, at the time, by the
first 24 of them being labelled "Friday 1867-10-06", because Russia was
using the Julian calendar at the time.  Do the timezone calculations by
modern means, however, and you get the full effect.

I'm not a fan of timezones.


Thread Previous Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About