От PHP 5.1.0 можете да използвате date_default_timezone_set() функция за задаване на часова зона по подразбиране, използвана от всички функции за дата/час в скрипт.
За MySql (цитат от Поддръжка на MySQL Server Time Zone страница)
Интерес за вас представлява настройката на часовите зони за всяка връзка, която бихте използвали в началото на вашите скриптове
SET timezone = 'Europe/London';
Що се отнася до откриването на настройката на часовата зона на клиента, можете да използвате малко JavaScript, за да получите и запишете тази информация в бисквитка и да я използвате при следващи четения на страница, за да изчислите правилната часова зона.
//Returns the offset (time difference) between Greenwich Mean Time (GMT)
//and local time of Date object, in minutes.
var offset = new Date().getTimezoneOffset();
document.cookie = 'timezoneOffset=' + escape(offset);
Или можете да предложите на потребителите възможността сами да задават часовите си зони.