thanks, but unfortunately this list is incomplete - I know for sure its missing Australia/Brisbane, which is different from Sydney, Melbourne in that there is no DST. I could obviously add it in but I wonder which other regions might be missing.
Who would've thought this would be so hard! The prospect of hand coding a list is equally unappealing seeing as I need to search the php array for the appropriate time zone name for every zone.
Here is the only method I know of to convert a time:
// Create two timezone objects, one for server and one for user
$utc = new DateTimeZone('UTC');
$user = new DateTimeZone($user_timezone); // looks like Australia/Brisbane or US/Pacific
// Create two DateTime objects that will contain the same Unix timestamp, but have different timezones attached to them.
$date_utc = new DateTime('now', $utc);
$date_user = new DateTime('now', $user);
$time_offset = $user->getOffset($date_utc);