nuke,
getDay() выводит день недели, в setTimeout должна передаваться функция, а не её результат, split для строк, а не для массивов.
<span id="clock"></span>
<script>
function clock() {
"use strict";
var t, month, result;
t = new Date();
month = "января февраля марта апреля мая июня июля августа сентября октября ноября декабря".split(' ')[t.getMonth()];
result = t.getDate() + " " + month + " " + t.getFullYear() + " г. " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds();
document.getElementById("clock").innerHTML = result;
setTimeout(clock, 1000);
}
clock();
</script>