Fra og med PHP 5.1.0 kan du bruge date_default_timezone_set() funktion til at indstille standardtidszonen, der bruges af alle dato/tidsfunktioner i et script.
For MySql (citeret fra MySQL Server Time Zone Support side)
Af interesse for dig er indstilling af tidszoner pr. forbindelse, som du ville bruge i begyndelsen af dine scripts
SET timezone = 'Europe/London';
Med hensyn til at detektere klientens tidszoneindstilling, kan du bruge lidt JavaScript til at hente og gemme disse oplysninger i en cookie og bruge dem på efterfølgende sidelæsninger til at beregne den korrekte tidszone.
//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);
Eller du kan tilbyde brugerne muligheden for selv at indstille deres tidszoner.