It was found that the server timezone was set correctly and time was synchronized with an NTP (network time protocol) server, however it was not displaying correctly for clients when they logged into cPanel webmail, specifically SquirrelMail that shows the time in the top left corner. It was off by an hour (indicating a timezone difference in calculation somewhere).
SquirrelMail says that this issue is not in the code but whatever the underlying php provides is displayed there. The reason was that cPanel’s php engine was not calculating the timezone correctly. To fix this issue, edit the php.ini file located at
Uncomment the line that starts with date.timezone:
date.timezone = "TIMEZONE"
And replace the TIMEZONE in above line from one of the supported timezone settings in php documentation e.g. “Australia/Sydney”. And enclose the string in quotes. Save the file and refresh the webmail interface to view correct time.