<p>I want the server to always serve dates in UTC in the HTML, and have JavaScript on the client site convert it to the user's local timezone.</p>

<p>Bonus if I can output in the user's locale date format.</p>

Don't know how to do locale, but javascript is a client side technology.
```
```
usersLocalTime = new Date();
```
```
will have the client's time and date in it (as reported by their browser, and by extension the computer they are sitting at).  It should be trivial to include the server's time in the response and do some simple math to guess-timate offset.