• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Datum und Zeit in deutscher Schreibweise ausgeben

jspit

Lounge-Member
Es gibt unzählige Scripte für die Ausgabe des Datums und der Uhrzeit. Leider sind fast alle sehr umfangreich.
Der hier vorgestellte Code ist dagegen extrem kurz. Ich benötige solche kurzen Scripte z.B. für Embedded Web Server, die keine serverseitge Sprache haben und kein großes Framework verkraften.
Ausgegeben wird das Datum mit Wochentag in der kurzen Schreibweise,
z.B. Dienstag, der 06.01.2009 19:22:00
Hier ein komplettes Beispiel:
Code:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
Date.prototype.toGeDayLocString = function () {
	with(this) {
		var s = ["Sonntag", "Montag", "Dienstag", "Mittwoch","Donnerstag", "Freitag", "Samstag"][getDay()];
		s += ", der " + ("0" + getDate() + ".0" + (getMonth()+1)).replace(/0(\d\d)/g,'$1');
		return s + "." + toLocaleString().replace(/.*(\d{4} \d\d\:\d\d:\d\d).*/,'$1');
	}
}
window.onload = function(){
	document.getElementById("Datum").innerHTML = (new Date()).toGeDayLocString();
}
</script>
</head>
<body>
<p>
Heute ist <span id="Datum"></span>
</p>
</body>
</html>

Getestet im FF 3.6, IE8 und Opera 11.01. Würde mich über Feedback freuen, wie sich der Code in weiteren Browsern verhält (Chrome, Safari...).
Modifizierungen der function sind leicht möglich. Hierzu ein Beispiel wenn kein Wochentag benötigt wird und auf die Sekunden verzichtet werden soll:
Code:
Date.prototype.toGeLocString = function () {
	with(this) {
		var s = ("0" + getDate() + ".0" + (getMonth()+1)).replace(/0(\d\d)/g,'$1');
		return s + "." + toLocaleString().replace(/.*(\d{4} \d\d\:\d\d):\d\d.*/,'$1');
	}
}

LG jspit
 
Zuletzt bearbeitet:
Wenn ich das richtig sehe zeigt das Script dem User seine eigene PC-Zeit an.
Welchen Sinn macht das? Wofür ist das gut, wofür braucht man sowas?
 
super script aktualiesiert sich nur nicht automatisch
:d
Das sind nur 2 Zeilen mehr:
Code:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
Date.prototype.toGeDayLocString = function () {
	with(this) {
		var s = ["Sonntag", "Montag", "Dienstag", "Mittwoch","Donnerstag", "Freitag", "Samstag"][getDay()];
		s += ", der " + ("0" + getDate() + ".0" + (getMonth()+1)).replace(/0(\d\d)/g,'$1');
		return s + "." + toLocaleString().replace(/.*(\d{4} \d\d\:\d\d:\d\d).*/,'$1');
	}
}
window.onload = function(){
	window.setInterval( function(){
		document.getElementById("Datum").innerHTML = (new Date()).toGeDayLocString();
		},
		500);
}
</script>
</head>
<body>
<p>
Heute ist <span id="Datum"></span>
</p>
</body>
</html>
 
Zuletzt bearbeitet:
Wenn ich das richtig sehe zeigt das Script dem User seine eigene PC-Zeit an.
Welchen Sinn macht das? Wofür ist das gut, wofür braucht man sowas?

Ich hätte villeicht mehr betonen sollen, daß es mir um die function geht. Der Aufruf mit (new Date()) wurde nur gewählt, um die function schnell überprüfen zu können. Die function kann ja für jedes Date-Object genutzt werden! Ja, wofür braucht man das ? Ja, z.B. um ein zweites Formularfeld mit einen Vorschlag zu versehen nachdem ein erstes Datum eingegeben wurde. Oder auch für die Anzeige von Zeitstempeln von Logbüchern, deren Inhalt ich z.B. nur als laufende Nummer erhalte.
 
Der Code funktioniert jetzt auch im Google Chrome, der ja bekanntermassen bei der js-function toLocaleString() die localen Einstellungen ignoriert.
Der toLocaleString()-Chrome-Bug ist auch noch ist der aktuellen Version vorhanden.
 
Zurück
Oben