Okay
  Public Ticket #1712211
Wrong time
Closed

Comments

  • ELangerbeins started the conversation

    Hi,
    I import a google calender ICS. For example time of an event in Google Calendar is 16:00 but in the exported *.ICS it's 14:00. So I set the timezone in Stachethemes Calendar to "Europe/Berline +02:00" and this solves the time problem. Problem now: all-day events switch to the next day :-(

    Any idea?

  •  877
    Zhivko replied

    Could you send me your ics file to test it out?


    Stachethemes Developer

  •   ELangerbeins replied privately
  •  877
    Zhivko replied

    Could you give me an example which event switches to the next day?


    Stachethemes Developer

  • ELangerbeins replied

    HI,

    On our website in stachethemes calendar there is for example the event (all-day)

    https://www.hlshannover.de/wp-admin/admin.php?page=stec_menu__events&view=edit&calendar_id=449705&event_id=513051

    "Mathematik-Olympiade (2. Runde)" on November, 13 - 2018 which is wrong.

    In the Google Calendar ICS it's (the correct date) November, 14:

    - - -

    BEGIN:VEVENT
    DTSTART;VALUE=DATE:20181114
    DTEND;VALUE=DATE:20181115
    DTSTAMP:20180918T092231Z
    UID:CSVConvert92694dd860cb28467b7743438103b1db
    CREATED:19000101T120000Z
    DESCRIPTION:
    LAST-MODIFIED:20180730T161114Z
    LOCATION:
    SEQUENCE:0
    STATUS:CONFIRMED
    SUMMARY:Mathematik-Olympiade (2. Runde)
    TRANSP:OPAQUE
    END:VEVENT

    - - -

    Thanks

  •  877
    Zhivko replied

    This seems to be a bug. We'll fix it in the next update. Meanwhile you could fix it manually by opening file 

    stachethemes_event_calendar\admin\class\class.import.php on line 152 to 166 replace:

                if ( isset($event->dtstart_array[0]['VALUE']) ) {
                    switch ( $event->dtstart_array[0]['VALUE'] ) {
                        case 'DATE' :
                            /**
                             * If VALUE is DATE the timestamp will be zeroed to UTC time (12:00AM) 
                             * It is not adjusted to the timetable timezone
                             * Adjust to timetable timezone
                             */
                            $calendar_date            = new DateTime('now', new DateTimeZone($calendar->get_timezone()));
                            $calendar_datetime_offset = $calendar_date->getOffset();
                            $start_timestamp          -= $calendar_datetime_offset;
                            $end_timestamp            -= $calendar_datetime_offset;
                            break;
                    }
                }


    with:


                if (isset($event->dtstart_array[0]['VALUE'])) {
                    switch ($event->dtstart_array[0]['VALUE']) {
                        case 'DATE' :
                            /**
                             * If VALUE is DATE the timestamp will be zeroed to UTC time (12:00AM) 
                             * It is not adjusted to the timetable timezone
                             * Adjust to timetable timezone
                             * 
                             * Update: If date is not 16 chars it's adjusted to calendar timezone
                             */
                            
                            if (strlen($event->dtstart_array[1]) == 16) {
                                $calendar_date            = new DateTime('now', new DateTimeZone($calendar->get_timezone()));
                                $calendar_datetime_offset = $calendar_date->getOffset();
                                $start_timestamp          -= $calendar_datetime_offset;
                                $end_timestamp            -= $calendar_datetime_offset;
                            }
                            
                            break;
                    }
                }


    Run the import again and check "Overwrite events" checkbox. 

    I'd recommend you to import only the events with wrong time because you have a lot of content in this ics file you've sent me.


    Stachethemes Developer

  • ELangerbeins replied

    Hi,

    new problem now. allday is okay but hours are wrong. in october 2 hours:

    16. October - "Jg. 12:Pädagogische Konferenzen" - 12:00 -13:00 (should be 14:00 - 15:00)

    in november it is 1 hour:

    15. November - "Schulvorstand, 2. Sitzung" - 15:00 (should be 16:00)

    and he shows not the end-time.

    maybe it's because of summer/winder time change?

    i have set timezone to 00:00.

    THANKS





  • ELangerbeins replied

    so sometimes it is 1 hour, sometimes 2, so settinng the timezone to +2 does not solve the pronlem.

  •  877
    Zhivko replied

    It is important that the calendar is set to correct timezone before importing the events.

    Try setting the calendar timezone to berlin and re-import the events. Check 'Overwrite events' checkbox when re-importing.


    Stachethemes Developer

  •   ELangerbeins replied privately
  •  877
    Zhivko replied

    Okay. 

    Try following:

    Copy the files I've attached to "stachethemes_event_calendar\admin\class" folder and overwrite the old files if asked.

    Then try to import the events again and check "Overwrite events" checkbox.

    Let me know if the problem persists.



    Stachethemes Developer

  • ELangerbeins replied

    Hello,

    now it works! Thanks a lot. Please put this to the next update.

    Henning

  • geniusadagency replied

    We are having the same issue 3 tickets have been submitted and ZERO response for an EST time zone for some not all of the ical files, this is beyond frustrating!!!!!!!!!!!!!!!!

  • geniusadagency replied

    Can we have the 

    class.import-ical.php
    class.import.php


    files for EST
    UTC -5
    ( GMT-5 )

  • ELangerbeins replied

    I thought the new files work with all GMT versions. I don't see in the code that it's specially coded for GMT +2. 

  •  94
    Valentin replied

    Yes the files should work for all GMT versions. It's important the calendar to be in the same Time Zone like the source before importing them.

    Stachethemes Support
    My Time Zone is GMT+3


    Envato Profile | Facebook | Twitter | Newsletter | Rate & Review