Connfa!
Open Source iOS & Android App for Conferences and Events

    Time and Time Zones handling

    User experience

    Connfa application is displaying event start/end times in event timezone.

    Note: All dates represented in app relay on event timezone but not device timezone.

    In order to notify user about irrelevant timezone set on device we represent warning dialog:

    Note: Dialog will be presented every time app is launched. But user can check “Don’t show this message again” in order to prevent dialog from being displayed next time.

    Implementation details

    We where able to achieve such behavior storing event timezone apart of event start/end time parameters. Timezone is fetched as timezone parameter of getSettings response object.

    Note: We use timezone id’s instead of common GMT/UTC offsets in order to be aware off summer/winter time switches provided in some counties.

    In requests like getBofs we get event from and to dates in DateTime::ISO8601 format. Client applications parse this date to system timezone-free native date structures (seconds or milliseconds passed from some fixed date in the past) and store them in databases.

    In order to display some event-related date or time event timezone offset is applied to stored date object.

    But in order to setup some event-related notificaiton to be displayed to user plain date structure is used. So user will get his message just in time.