[tz] Incorrect Time Zone Data for American/Grand_Turk

Robert Elz kre at munnari.OZ.AU
Fri Aug 3 14:26:29 UTC 2018


    Date:        Fri, 3 Aug 2018 14:56:14 +0100
    From:        Jon Skeet <skeet at pobox.com>
    Message-ID:  <CA+5fHt+pJv-STH8vkv9mt19U0gih5GsprPaHZiRKOqu2g3+zvw at mail.gmail.com>

  | To be clear, this was "subsequent ticks". (A tick is 100ns)

Ah, OK, not what I expected, but ...

  | On further inspection, it looks like the library completely ignores
  | sub-second precision in some cases: when you ask for the local version of
  | (say) 1998-12-31T23:56:30.123Z in America/Argentina/Buenos_Aires it will
  | return 1998-12-31T20:56:30.000.

I know nothing about Windows data types, or .NET, but you'd see the same
on most unix implementations, as struct tm has nowhere to put sub-second
data (nor does time_t) - code that wants to deal with this needs to dig out
the fractional second, convert the rest, assign the time_t to a struct timespec
(or one of the other variants of that that abound) and then add in the
fraction.    Doing that is rare...

kre



More information about the tz mailing list