A summary of sorts (was: Re: Why and when storing local time? (Re: Basic rationale of the KEP #2 design))
Florian v. Samson
florian.samson at bsi.bund.de
Thu Mar 31 15:49:08 CEST 2011
Georg,
Am Donnerstag, 31. März 2011 um 13:01:32 schrieb Georg C. F. Greve:
> On Wednesday 30 March 2011 19.06:50 Jeroen van Meeuwen (Kolab Systems)
wrote:
> > You can't use baseline offsets one way and then completely ignore the
> > fact you are supposed to use baseline offsets the other way around,
> > too.
>
> The point Bernhard was getting at, I believe, is that baseline offsets
> are not what are needed to calculate the behaviour as it was intended by
> the user.
>
> For that, we need to know the local time the user meant to specify.
>
> That can be retrieved from UTCWND
Please provide a pointer to the DST switching dates of UTC: I still (and
Jeroen did sound similarly confused as I am) do not comprehend why you
believe "pure UTC" switches to and from DST, thus one has to define a
new "UTCWND" which does not switch.
Until then I stick to believe UTC == "UTCWND"
> as long as we know whether the user meant DST or standard time when
> the event was stored,
As discussed here numerous times: everybody usually thinks in local time, so
that is what is meant, no matter if currently DST is active or not. It is
the duty of the client to normalise these timestamps before storing them in
a Kolab-object, or to do nothing, if local time is stored directly, as you
propose.
> but it adds one step to get to local time for all fields past, present
> and future.
Yes, but it can retain compatibility with older versions of the
Kolab-format: a big pro, IMHO.
Storing local time implicitly breaks compatibility, and a mixed scheme adds
complexity on top of that.
> It can also not be stored as RFC3339, as that explicitly specifies UTC.
So let it be it Zulu-time (UTC).
> But if local time is stored directly, the additional step disappears
> entirely.
No, this is only correct for clients in the same time zone as the event
itself; every other client has to do two transformations / time-conversions
in order to calculate an event's time-dates in their local time: first
calculate UTC, then the own local time.
So in the end the number of overall time-conversions is not substantially
different, no matter if UTC or local time is stored. Hence under this
aspect storing local time or UTC are similarly laborious.
> The only open question I still have is whether or not a cache of the
> static rules which would also allow to handle ficticious time zones which
> VTIMEZONE allows is worth the complication and bloat.
>
> Nobody seems willing to advocate for it strongly,
I did and still do, in case you forgot. An I still believe it should be the
primary source of TZ-data for the Clients accessing that Kolab-object, and
the rules to dynamically update that in-format TZ-data should be well
defined.
Florian
More information about the format
mailing list