How does the user Timezone is updated with winter/summer clock changes?

I'm running SugarCRM Community Edition (6.5.13) on linux server (centos) and it works great! 

one thing i don't understand, 

if each user has its own timezone, selected in it's user profile (advanced tab), for example "Asia/Jerusalem +2",

then what happens when the daylight savings time, changes on winter or summer (changes from +2 to +3 and then back to +2)?

does that mean the administrator has to manually, change the timezone of all user back and forward twice a year?

because if the user timezone stays as is, when the daylight savings change, then the user will see wrong datetime values presented throughout the system....

i need to implement an automatic solution for this.

since i'm familier with sugarcrm code, i thought of setting all users to UTC Timezone and change some code,

so all datetime presented in the system, will take the timezone of the machine the current browser runs on (win10/mac/android) and this way the timezone will always be currected, but it looks complicated....

any ideas how to keep timezone in sync on summer/winter daylight savings?


  • Anyone?

    In short, if you used SugarCRM Community before, what did you do when the daylight savings changed?

    did you change manually, the timezone ,for each user to another country that is +1 hour than your country timezone? 

    For example like today (winter clock changed in 25.10.2020) , did you move all users to another country TZ to make up for the -1 hour)?

  • I think you don't have to make such changes. Sugar saves dates in UTC time in the DB, which doesn't have daylight savings. So when it's displayed in the UI, it automatically converts UTC time to your corresponding timezone and displays the correct date/time.

    In the Profile page, though Sugar displays UTC +- hours , like +2 or +3 for guidance, in the backend, it's all PHP timezones, so only the timezone value is saved, it won't save the +2 or +3.

    <option label="Asia/Jerusalem (GMT+2:00)" value="Asia/Jerusalem">Asia/Jerusalem (GMT+2:00)</option>

    You'll notice from the above that the value saved is only Asia/Jerusalem, which is then passed to PHP default functionality of DateTime/DateTimeZone and converted to the user timezone.

  • thank you, you are right, but in my case , i use an old version of Centos 6.3 Linux server  (becuase sugarcrm itself is "old"). so on these kind of servers, the timezone changes automatically in the wrong daylight savings dates and changes the hour on the server, in the wrong date that the winter/summer actually changes.

    for example: this year winter clock changes from UTC+3 to UTC+2 on the 25 of october (three days ago)..

    instead, my server changed the hour last month!! (a month before the winter clock changes).

    so i can't rely on the PHP default functionality to change hours on time.