Я бы сделал так:
<script type="text/javascript">
function moscowTime() {
var d = new Date();
d.setHours( d.getHours() + 4, d.getMinutes() + d.getTimezoneOffset() );
return d.toTimeString().substring(0,8);
}
onload = function () {
setInterval(function () {
document.getElementById("txt").innerHTML = moscowTime();
}, 100);
}
</script>
<span id="txt"></span>
Не сказать что лучше, но короче.)