And yet another issue with to_posix_strings()
The 1.66 date_time_zonespec.csv returns for Europe/Stockholm “CET+01CEST+01,M3.5.0/02:00,M10.5.0/03:00”
It’s not only the sign of the offset which is incorrect, the DST offset is also incorrect.
Acc.to POSIX “Environment variables”
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html#tag_08 for “TZ”
“offset
Indicates the value added to the local time to arrive at Coordinated Universal Time”
A correct POSIX string should therefore read:
“CET-01CEST-02,M3.5.0/02:00,M10.5.0/03:00”
Regards
Mats Webjörn
Från: Stian Zeljko Vrba [mailto:vrba@quine.no]
Skickat: den 29 december 2018 07:30
Till: Mats Webjörn/WIKAB; boost-users@lists.boost.org
Ämne: Re: [Boost-users] Question on Posix timezone string
To add another data point to the discussion as I've been bitten by the same issue wrt dates and times. I found the following comment in my code while translating local time to utc time by using
Windows native and .NET APIs:
// .Net DateTimeOffset contains _local_ ticks + offset, so that utc = local - offset
// Windows TZ information contains bias which is -offset so that utc = local + bias
It seems that there is a difference between "offset" and "bias". [1] contains the following text and formula: "The bias is the difference, in minutes, between Coordinated Universal
Time (UTC) and local time […] UTC = local time + bias." [2] on the other hand operates with offsets and says "The difference between the current DateTimeOffset object's time value and Coordinated Universal Time (UTC)."
So that the TZ table contains negated offsets is plausible.
[2] https://docs.microsoft.com/en-us/dotnet/api/system.datetimeoffset.offset?view=netframework-4.7.2