SquirrelMail doesn't actually do anything special to get the date. PHP just gives the date to SquirrelMail, and it should already be formatted in your correct time zone. If it is not, you probably have the time on your system misconfigured. To see if you do, just use this command:
It should return something like "Wed May 9 12:43:55 CDT 2001" If the time zone, date, or time is incorrect, read your system's documentation for how to change the time. Also, if this is a web server or a computer that is connected to the net continuously, look into time synchronization software (tons of free ones available) to keep your server's time correct.
One way to change the date on some systems is to run the date command with some optional parameters. See man date for more information.
If the date command gives you the correct information, you might want to make sure that /etc/localtime is actually pointing to (symbolically linked to) the correct time zone file for your area.
If your SquirrelMail webserver is running in a chroot environment, make sure you have added the /etc/localtime to the chroot. For example, under OpenBSD, do this:
cp /etc/localtime /var/www/etc/localtime
Adjusting the date.timezone setting in your php.ini may resolve this issue too. Don't forget to restart your web server after you save changes.
older version of PHP have an incorrect daylight savings time embedded into one of the .dll files. Upgrade PHP to fix this.