[systemd-devel] [PATCH] timedated: Add a LocalOffset property for timezone offset

David Herrmann dh.herrmann at gmail.com
Mon Mar 23 05:46:15 PDT 2015


Hi

On Mon, Mar 23, 2015 at 6:32 AM, Lennart Poettering
<lennart at poettering.net> wrote:
> On Thu, 19.03.15 14:39, David Herrmann (dh.herrmann at gmail.com) wrote:
>
>> Hmm, so this is a convenience call. You could just set tm.tm_zone
>> locally and use mktime() with the value retrieved by "Timezone"? Yeah,
>> the time-api is awful with global variables, but that's not really our
>> fault, is it?
>
> This would not work, as struct tm's .tm_zone field is not sufficient
> to indicate a timezone. The code would have to set $TZ and call tzset().

I see. The Unix-way of doing things!

> Given the simplicity of this I'd probably just merge Stef's
> patch... It *is* kinda nice given that the timezone database is
> constantly updated and having this exposed on the bus so that it is
> accessible remotely has the benefit that you get the actual timezone
> information in effect on the remote system, and not a possible
> out-of-date timezone from the local database. If you follow what I mean...

..locale data is also updated regularly but we don't export
locale-files on the bus ;)

Anyway, if we add pseudo-redundant APIs, I'd go with a "LocalTime"
field as Shawn suggested. This is what the bus-user is interested in,
right? If they need more data (like DST), they should just parse
zoneinfo. And with "LocalTime" we avoid any ambiguity regarding DST.

Thanks
David


More information about the systemd-devel mailing list