The best way to convert, is to parse the string from SQL, then use gmmktime to get the unix timestamp*, then using date() to convert it into the relevant string format.
To set the user's time zone, use date_default_timezone_set. There are a bunch of strings containing common time zones, e.g. America/Los_Angeles
Then it will also take into account daylight saving time if it's relevant to that time zone. See Appendix H in the manual.
Mark
- I of course have a common function which does this; I use it everywhere.