We run a Civicrm installation that spans a continent (a long way from UTC).
What is the best practice?
- What time should our server be set to?
- How do we manage user timezones?
- What time should go in the database?
CiviCRM Stack Exchange is a question and answer site for administrators and users of the CiviCRM Constituent Relationship Management software. It only takes a minute to sign up.
Sign up to join this communityWe run a Civicrm installation that spans a continent (a long way from UTC).
What is the best practice?
As long as your PHP and MySQL settings are correctly set (CiviCRM should warn you if they are not), you can set the server time to your preference. Using UTC for the server is probably more convenient on the long term, but it's not a CiviCRM requirement. For example, lets say you are in UTC-8, but next year a new sysadmin joins your team and is in UTC+6, UTC-8 will probably be pretty annoying (CiviCRM servers were initially on PCT time, before being changed to UTC).
The biggest issue with time in CiviCRM is with CiviMail scheduled mailings and with scheduled reminders.
If you are using Drupal or WordPress, CiviCRM should use the user's timezone settings and adjust time inputs/outputs accordingly. Otherwise you will have issues with the mailings not being sent at the right time (from the point of view of the user).
Eileen and Jamie have posted a good wrap-up of this issue here:
https://issues.civicrm.org/jira/browse/CRM-9683?focusedCommentId=67732&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-67732
There is one detail with the timestamp field type that I do not really understand. i.e. if it's necessary to convert the field so that the fixes already committed work. Hopefully someone else can chime in.