Das hier wäre meine aktuelle Lösung:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function updateTime() {
var date = new Date();
var stunden = date.getHours();
var minuten = date.getMinutes();
var sekunden = date.getSeconds();
var vor_std = (stunden < 10) ? "0" : "";
var vor_min = (minuten < 10) ? "0" : "";
var vor_sek = (sekunden < 10) ? "0" : "";
var tag = date.getDate();
var monatDesJahres = date.getMonth() +1;
var jahr = date.getFullYear();
var tagInWoche = date.getDay();
var wochentag = new Array("So.", "Mo.", "Di.", "Mi.", "Do.", "Fr.", "Sa.");
var Tag2 = ((tag < 10) ? "0" : "") + tag ;
var Monat2 = ((monatDesJahres < 10) ? ".0" : ".") + monatDesJahres;
var datum = wochentag[tagInWoche] + " , " + tag + Monat2 + "." + jahr;
var zeit = vor_std + stunden + ":" + vor_min + minuten + ":" + vor_sek + sekunden;
document.getElementById("time").innerHTML = zeit;
document.getElementById("date").innerHTML = datum;
setTimeout(updateTime, 1000);
}
window.addEventListener("load", updateTime);
</script>
<style type="text/css">
#wrapper {
width: 400px;
margin: 0px auto;
text-align: center;
color: #333;
font-size: 18px;
font-weight: bold;
text-decoration: none;
}
#date {
font-weight:bold;
font-size: 2.5em;
text-align: center;
color: #666;
}
#time {
font-weight:bold;
font-size: 5em;
text-align: center;
color: #FFFFFF;
padding: 1px 4px 3px 4px;
/* fallback */
background: #000;
/* Safari 4-5, Chrome 1-9 */
background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#555), to(#000));
/* Safari 5.1, Chrome 10+ */
background: -webkit-linear-gradient(top, #555, #000);
/* Firefox 3.6+ */
background: -moz-linear-gradient(top, #555, #000);
/* IE 10 */
background: -ms-linear-gradient(top, #555, #000);
/* Opera 11.10+ */
background: -o-linear-gradient(top, #555, #000);
border-radius: 7px;
}
</style>
</head>
<body>
<div id="wrapper">
<br>
<div id="date"> </div>
<br>
<div id="time"> </div>
</div>
</body>
</html>