The "every second" version, while cheeky, probably is wrong during the fall when the end of DST causes an hour to be repeated every year in many jurisdictions.
UTC would save you w.r.t. timezones, but it still has leap seconds and the like to adjust for nonuniformities in the earth’s rotation (around itself and the sun).
However, these jurisdictions change timezones in autumn and spring, so specifying the current timezone should work just as well as specifying UTC. 01:30:20 CEST is not repeated, nor is 01:30:20 CET.
Leap seconds don't cause timestamps to repeat, though. They're done by adding an extra second to a minute, so that instead of going between 0-59 seconds, that one minute goes from 0-60.
Either way you don't get repeated UTC timestamps. A negative leap seconds means you go from 23:59:58 to 00:00:00 without passing 23:59:59, and a positive one means you go from 23:59:59 to 23:59:60 to 00:00:00.
Since the image is actually rebuilt server-side to reflect the current rotation of the earth, it's simple to just rotate it with CSS based on the current time:
As of 15:36 UTC, the xkcd version has noon pointing at the S in "Canadian Maritimes", while yours has noon pointing at the U in "US East Coast". My browser timezone is currently GMT, and system time is accurate.
Well, I'm not sure how the XKCD version does it but if you draw a straight line from the middle of the map to your location and continue to the hour on mine it should match your system time pretty closely. The XKCD version doesn't create such a match for my time (even with daylight saving factored in).
Please let me know if that's not true for you on mine though. I'd like to fix it if it's wrong.
Hmm, yes I see... my version is about spot on for the US (Indiana) while the XKCD version is about an hour and a half behind. I'm not sure what to do about it other than re-draw the map but thanks for pointing that out!
Any suggestions?
For now I just rotated the map so that the time will be based on the Greenwich Meridian instead of my local meridian.
six hours slow? I'll have to fix that up, I'm basically just matching MIDNIGHT to America/Los_Angeles timezone and rotating based on the offset. I'll have to rethink that it looks like, thanks for pointing that out.