TimezonesΒΆ

Getting localized time right, seems to be the most difficult part about calendaring (and messing it up ends in missing the one imported meeting of the week). So I’ll briefly describe here, how khal tries to handle timezone information, which information it can handle and which it can’t.

All datetimes are saved to the local database as UTC Time. Datetimes that are already UTC Time, e.g. 19980119T070000Z are saved as such. Datetimes in local time and with a time zone reference that khal can understand (Olson database) are converted to UTC and than saved, e.g. TZID=America/New_York:19980119T020000. Floating times, e.g. 19980118T230000 (datetimes which are neither UTC nor have a timezone specified) are treated as if the default timezone (specified in khal’s config file, or you computer’s time zone is used) was specified. Datetimes with a specified timezone that khal does not understand are treated as if they were floating time.

khal expects you want all start and end dates displayed in local time (which can be configured in the config file, otherwise your computer’s timezone is usued).

VTIMEZONE components of calendars are understood, but only if they are placed before the VEVENTS that use them (which every sensible calendar program seems to do). Valid OlsonDB values (which most calendar applications use), e.g. America/New_York are understood even if no VTIMEZONE component is present.

To summarize: as long as you are always in the same timezone and your calendar is, too, khal probably shows the right start and end times. Otherwise: Good Luck!

Seriously: be careful when changing timezones and do check if khal shows the correct times anyway (and please report back if it doesn’t). As a safe measure you might want to delete khal’s database file after changing any timezone setting, so that floating time