LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Evolution Calendar -- Make Appointments Time-Zone-Less (https://www.linuxquestions.org/questions/linux-software-2/evolution-calendar-make-appointments-time-zone-less-4175446997/)

JWilliamCupp 01-24-2013 02:49 AM

Evolution Calendar -- Make Appointments Time-Zone-Less
 
How can I create an entry in Evolution that does not store a time zone entry? I know how to set a different time zone than the one I am in, and I know how to hide the time zone setting, but these do not solve the problem.

Scenario. Suppose I work for a company with several offices. I want to make an entry "9:00 a.m. Daily Staff Meeting." Now when I re-locate temporarily to a branch office, I still want that to show on my calendar at 9:00 LOCAL TIME. Each time I change the time zone settings, all of my stored events change to a different time of the day.

Is there any way to record events so that they are always displayed in local time, regardless of any subsequent changes to the time zone setting?

irneb 01-24-2013 09:00 PM

I don't think any calendaring system would work that way. The event is always stored in UCT time (or at least should be if it's a decent calendar system). Then when displaying it converts that time to your local setting. This is as designed, otherwise you'd get some weird stuff like scheduling a Skype conference at 9:00 AM to someone a few zones earlier - only to get a nasty email from them about you scheduling the event but not starting the call!

All I can think of would be to get some custom program / script which might modify your calendar files (sorry I don't know how Evo stores these - perhaps as ICS/VCS). If so that could then adjust all times by the difference between your 2 local zones. Of course you'd have to re-run this if you move back again. Perhaps something like this: http://trog.qgl.org/ics-timezone-fixer/

JWilliamCupp 01-28-2013 03:52 AM

Calendar Events in Local Time
 
I may have come up with a work-around solution.

First step, you create the calendar entries which either take the current time zone setting of the desktop, the default time zone set in Evolution, or a time zone selected when creating the entries.

Next, you export the required entries to an *.ics file. In Evolution, select the calendar in question, right click and choose "Save As...". This can be facilitated if you put the entries you want to stay on local time in a separate calender, but it doesn't have to be that way.

Then you edit the *.ics file with an editor such as gedit. For those entries which should not change their local time entries when a different time zone in is use, modify the DTSTART (date time start) and DTEND (date time end) fields so as to remove the time zone information.

For example, suppose you have the following entry for an event:
DTSTART;TZID=/freeassociation.sourceforge.net/Tzfile/Pacific/Port_Moresby:
20110301T070000
DTEND;TZID=/freeassociation.sourceforge.net/Tzfile/Pacific/Port_Moresby:
20110301T070000

change it to read as follows:
DTSTART:20110301T070000
DTEND:20110301T070000

Notice carefully the semicolon comes immediately after the field label, but after the TZID field there is a colon then a space before the date and time information. When edited, the colon goes immediately after the field label and there is no space after the colon before the date and time information.

Finally, you re-import the *.ics file into Evolution, using File > Import ... and walk through the Evolution Import Assistant, selecting a single file and browsing to the modified file you have edited. Upon importing, since the events have a serial number the stored events already in the calendar are updated. Time zone information is removed (the Time Zone field is empty). Now, since the calendar has a time to start and a time to end the event, but no time zone information to apply offsets from UTC, it simply displays the event in local time.

I'm still testing this out but it seems to work so far.

If anyone knows any easier or better way to do this, I would love to hear it.


All times are GMT -5. The time now is 11:37 AM.