I've got an install (3.1.1) running fine on a VMWare appliance running RH FC4.
I changed the server timezone to Sydney time with the following commands.
[root@manager logs]# cd /usr/share/zoneinfo
[root@manager zoneinfo]# ls
Africa Chile Factory Iceland Mexico posix UCT
America CST6CDT GB Indian Mideast posixrules Universal
Antarctica Cuba GB-Eire Iran MST PRC US
Arctic EET GMT iso3166.tab MST7MDT PST8PDT UTC
Asia Egypt GMT0 Israel Navajo right WET
Atlantic Eire GMT-0 Jamaica NZ ROC W-SU
Australia EST GMT+0 Japan NZ-CHAT ROK zone.tab
Brazil EST5EDT Greenwich Kwajalein Pacific Singapore Zulu
Canada Etc Hongkong Libya Poland SystemV
CET Europe HST MET Portugal Turkey
[root@manager zoneinfo]# cp Australia/Sydney /etc/localtime
cp: overwrite `/etc/localtime'? y
[root@manager zoneinfo]# /usr/bin/rdate -s time.nist.gov
[root@manager zoneinfo]# /sbin/hwclock --systohc
[root@manager zoneinfo]# date Fri May 26 07:43:52 EST 2006
From a Linux viewpoint this looks fine, and I've rebooted on many an occasion (I'm going to post my VMWare experiences into the Wiki (including changing the Zimbra servername and the VMWare timecreep problem) as soon as I can solve this last problem)
When tomcat starts, all the log messages are in US Westcoast time (PST), when some of my code executes within Zimbra the server locale timezone is PST. Does anyone have any idea why tomcat has not taken the default server timezone?
[Update] Dang I hate finding the answer to my problems the moment I make a post ... This was the problem.
Make sure the /etc/sysconfig/clock looks right....
Once this file was corrected, Tomcat picks up the right time ...