Od PHP 5.1.0 możesz użyć date_default_timezone_set() Funkcja, aby ustawić domyślną strefę czasową używaną przez wszystkie funkcje daty/czasu w skrypcie.
Dla MySql (cytat za Obsługa stref czasowych serwera MySQL strona)
Interesuje Cię ustawienie stref czasowych dla poszczególnych połączeń, których użyjesz na początku swoich skryptów
SET timezone = 'Europe/London';
Jeśli chodzi o wykrywanie ustawienia strefy czasowej klienta, możesz użyć trochę JavaScript, aby uzyskać i zapisać te informacje w pliku cookie i użyć ich przy kolejnych odczytach strony, aby obliczyć właściwą strefę czasową.
//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);
Możesz też zaoferować użytkownikom możliwość samodzielnego ustawiania stref czasowych.