Time Zone Issue in 7.14.1

Facing issue in 7.14.1. I changed user’s time zone (Asia/Kolkata GMT + 5:30) in user profile advance section. but after user login it is set to again UTC GMT 0

Look at the output of the command:
php -i | grep php.ini
Take that path to php.ini and put it here:
cat /path/to/php.ini | grep "date.timezone"
What is the output?
If it’s UTC then edit the file:
nano /path/to/php.ini
Change it to date.timezone = "Asia/Kolkata"
Save it, Ctrl+o (Enter)
Exit, Ctrl+x
Restart apache for your change of timezone to take effect.

A list of all timezones you can pick from:
http://php.net/manual/en/timezones.php

Would be nice if Suite would use this function to list all the timezone on the user Profile page and let the user select theirs from a dropdown:
https://www.php.net/manual/en/datetimezone.listidentifiers.php

1 Like

The only glitch that happens when you change PHP date.timezone setting: Suite suddenly treats whatever timezone you set your server to, as if the time coming from the system were still located in the UTC zone. In other words, Suite doesn’t compensate for the change in timezone by subtracting the timezone difference from already saved/logged times.

For example, the time that Scheduler jobs previously ran. This, in my opinion, is a bug, because when you change PHP timezone from UTC to "America/New_York", you see in Scheduler “**This job last ran 4 hours from now**”. In other words, 4 hours into the future! Wait. What? That is impossible due to the fact that time travel is not (yet) a thing. So there’s timezone related code fixes that need to happen here.

Someone should update PRs with this info, and/or re-file new PRs about this…

I believe most of Sales Agility’s understandable blindness to this issue of getting timezone code to work as it should, throughout the app, is because of the fact they’re located in London (UTC-0) timezone, which makes it more difficult to simulate and test these timezone related code, so that it will work as expected for any user located outside of the UTC timezone.