Hmmmm, could be done at the client end entirely via JS. I did have a quick look at it.
All that would need to happen is JS needs a proper time formatted string e.g.
Monday 8th July 2002 21:47 GMT
and then there is a Local time function in JS that takes it from that date string to the local one
Would be heavy on JS and noscript tags just so it gets displayed whatever the browser.
I suppose each time could be stored a the jdate and then a port of the ubb_lib_time function to JS to convert those dates to a proper string. and use the vars_time{TimeZone} for the JS to work out.
I would code it but I've got plenty of other things to do at the moment, especially if we're upgrading to 6.3