bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#22034: time-utc->date shows bogus zone-dependent leap second


From: Mark H Weaver
Subject: bug#22034: time-utc->date shows bogus zone-dependent leap second
Date: Mon, 29 Oct 2018 18:33:59 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Mark H Weaver <address@hidden> writes:

> John Cowan <address@hidden> writes:
>
>> On Sun, Oct 28, 2018 at 4:40 PM Mark H Weaver <address@hidden> wrote:
>>
>>  The difference between the two measuring tapes is that they assign
>>  different numbers to the markings, and moreover that the UTC analogue
>>  has a small handful of places where two adjacent markings have the same
>>  number assigned, and all subsequent numbers are shifted by 1.
>>
>> Now I think you are entirely right here, modulo a single term: what you are
>> calling "UTC", I call (and I think correctly), "Posix".  It is Posix time 
>> that
>> has two identical adjacent markings.
>>
>>    126230400 |------------
>>    126230400 |------------
>>
>> The numbers here are not UTC seconds since the Epoch, but Posix seconds
>> since the Epoch.
>
> Here's a more detailed display of the same leap second that I chose for
> my example, which you quoted above:
>
> +-----------------------------------------------------------+
> |      TAI seconds  UTC seconds                             |
> |         since       since                                 |
> |     midnight UTC  midnight UTC                            |
> |      1 Jan 1970   1 Jan 1970    Result of 'time-tai->date'|
> |-----------------------------------------------------------|
> |$2 = ((126230410    126230398    "1973-12-31T23:59:58Z")   |
> |      (126230411    126230399    "1973-12-31T23:59:59Z")   |
> |      (126230412    126230400    "1973-12-31T23:59:60Z")   |
> |      (126230413    126230400    "1974-01-01T00:00:00Z")   |
> |      (126230414    126230401    "1974-01-01T00:00:01Z"))  |
> +-----------------------------------------------------------+
>
> The table above illustrates my understanding of the relationship between
> "TAI seconds since midnight UTC on 1 Jan 1970", "UTC seconds since
> midnight UTC on 1 Jan 1970" and the date object expressed in UTC.  See
> my previous email for the code to produce the table above using SRFI-19.

Sorry, I made a mistake above.  Where I wrote:

  "TAI seconds since midnight UTC on 1 Jan 1970"

I should have written:

  "TAI seconds since midnight TAI on 1 Jan 1970"

I'm not aware of any other mistakes in my last message.

Given that correction to the heading over the first column, I'd still
like to know what numbers you believe should be in a corrected version
of the table above.

I admit that this is a surprisingly challenging subject, but I think
it's important to get to the bottom of this.  If there's a deep problem
in SRFI-19 regarding its interpretation of UTC seconds, we need to know
about it and fix it.  This issue affects the entire Scheme community.

     Thanks,
       Mark





reply via email to

[Prev in Thread] Current Thread [Next in Thread]