Or just always store in UTC and render in local time zone if required.

Possible solution as cut & pasted from:

---
Note that it is trivial to display times in the users local time zone, without
any per-user settings on the server. The web server sends a timestamp, and the
browser display the date/time in local format.

Here is how:

Opened: <script type="text/javascript">
<!--
var time1 = new Date(the_time_as_miliseconds_since_epoch__inserted_by_server);
Document.write(time1.toLocaleString());
-->
</script><noscript>2002-11-27 08:09 PDT</noscript>
---