I changed /etc/localtime on my Debian Stretch system from local time to UTC, mainly because I want system processes to use UTC and only for presentation to use local time. For some reason, back when I originally installed the system (many years ago now) I selected to have the hardware clock in UTC, but to use local time for the system.
At the same time as changing /etc/localtime, I also edited /etc/environment to specify
TZ=/usr/share/zoneinfo/Whereabout/Local to get appropriate presentation of time by default in logged-in sessions.
Looking in Edit > Preferences > Calendar and Tasks > General, I can set Evolution 3.22.6 to use either the system time zone (which is now UTC) or a custom time zone. It used to be set to use the system time zone, being the local time zone.
As far as I can see, all my existing calendar appointments have been created with my local time zone specified. (In the above example, that would be Whereabout/Local.)
Here's the problem:
- With the Evolution setting set to use UTC, the times displayed in the calendar all appear to be correct, but the times are displayed in UTC.
- If I then create an event and leave the time zone as UTC, the time is displayed as entered, but alarms trigger as though the time is in UTC rather than local time. (So the time displayed + UTC offset - alarm offset = when the alarm is displayed. I'm used to dealing with times in UTC, but I can see this getting confusing real quickly.)
- With the Evolution setting set to use local time, the times display correctly, but any events with "all day event" selected are shown not just on the day when they occur as per the event properties, but also on the day before. (My local time is ahead of UTC.) The same thing happens if I create a new all day event.
- If I try to create the event in UTC with Evolution set to use local time, the event time zone appears to be overriden by the Evolution setting, resulting in an event with the time zone set to local time.
What I would like is to:
- Use UTC as the system time zone (check)
- Use my local time zone as the default time zone for date and time presentation within my logged-in session (check)
- Have Evolution use the local time zone, including for all day events (needs doing)
What knobs do I need to tweak to accomplish that, preferably without recreating my calendar from scratch?
The Evolution calendar is stored locally.
Note: I'm willing to try other software if they handle this use case better.