Im nächsten Beispiel werden die vom Date-Objekt vorgegebenen Konvertierungsmethoden demonstriert. Es gibt zwei unterschiedliche Methoden zur Konvertierung von Datum-Objekten in eine Zeichenkette. Die Methode toLocaleString() liefert das angegebene Datum im lokalen, vom Betriebssystem vorgegebenen, Format zurück. Im Gegensatz dazu liefert die Methode toGMTString() das Datum nach UTC (GMT – Greenwich Mean Time) zurück. Zu beachten ist hier, dass dieses Format nicht zwischen Sommer- und Winterzeit unterscheidet.
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Instanz von Datum-Objekt per Default-Konstruktor
// erzeugen (mit aktueller Zeit initialisieren)
d = new Date ();
document.write ('Lokale Format: ' + d.toLocaleString () + '<br>' +
'Im IETF-Standard: ' + d.toGMTString ());
// -->
</script>
Das nächste Beispiel implementiert einen Countdown, der die Zeit bis Mitternacht berechnet und diese Zeitspanne dann per document.write ausgibt. Dies geschieht, indem das aktuelle Datum und die aktuelle Zeit durch das Erzeugen einer Instanz von Date, ermittelt wird. Danach wird mit d2 eine Kopie der Instanz d erzeugt. Beachten Sie bitte, dass ein einfaches Kopieren des Datums (der Form d2 = d) durch eine Zuweisung nicht möglich ist, da der Zuweisungsoperator d2 keine Kopie, sondern eine Referenz zuweisen würde. Aus diesem Grund ist die Nutzung des Copy-Constructors nötig, der eine neue Instanz d2 mit den Daten der Vorlage d erzeugt. Wird nur eine Referenz zugewiesen, so werden alle folgenden Änderungen an d2 an der Ursprungs-Instanz durchgeführt, da nur eine Instanz existiert.
Nun wird mit der Methode setTime() der Folgetag zugewiesen, indem zur aktuellen Date-Instanz 24 Stunden addiert werden. Als nächstes wird die Zeitkomponente der Kopie auf Mitternacht gesetzt, da nur die Zeit bis Mitternacht berechnet werden soll und nicht die Zeit bis zur gleichen Uhrzeit des Folgetages. Jetzt werden die einzelnen Komponenten (Stunden, Minuten und Sekunden) bis Mitternacht berechnet. Zuletzt werden die Komponenten – auch hier der Lesbarkeit halber – ggf. wieder mit führenden Nullen aufgefüllt und die berechneten Zeitkomponenten werden ausgegeben.
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Instanz von Datum-Objekt per Default-Konstruktor
// erzeugen (mit aktueller Zeit initialisieren)
d = new Date ();
// Kopie des aktuellen Datums erzeugen (Copy-Constructor)
d2 = new Date (d);
// Auf nächsten Tag um die selbe Zeit setzen
d2.setTime (d2.getTime () + 24 * 60 * 60 * 1000);
// Auf Mitternacht des Folgetages setzen
d2.setHours (0);
d2.setMinutes (0);
d2.setSeconds (0);
// Zeit bis Mitternacht in Sekunden
ds = (d2.getTime () - d.getTime ()) / 1000;
// Anzahl der Stunden bis Mitternacht berechnen
h = Math.floor (ds / (60 * 60));
// Anzahl der Minuten bis Mitternacht berechnen
m = Math.floor (ds % (60 * 60) / 60);
// Anzahl der Sekunden bis Mitternacht berechnen
s = ds % 60;
// mit führender 0 auffüllen, wenn Stunden, Minuten
// oder Sekunden kleiner 10 sind
h = (h < 10 ? '0' + h : h);
m = (m < 10 ? '0' + m : m);
s = (s < 10 ? '0' + s : s);
// Countdown ausgeben
document.write ('Noch ' + h + ' Stunden, ' + m +
' Minuten und ' + s + ' Sekunden bis Mitternacht!');
// -->
</script>
Mit dem folgenden Beispiel können Sie Ihre Seitenbesucher stets mit der passenden Begrüßung empfangen. Dazu wird der Stunden-Anteil der aktuellen Uhrzeit ausgelesen und eine dieser Zeit entsprechende Meldung ausgegeben. Auf diese Weise kann auch zu einem bestimmten Datum eine entsprechende Meldung ausgegeben werden. Denkbar sind beispielsweise Geburtstage, sonstige Jubileen und Sprüche oder Bilder, die von Tag zu Tag wechseln.
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Instanz von Datum-Objekt per Default-Konstruktor
// erzeugen (mit aktueller Zeit initialisieren)
d = new Date ();
if (d.getHours () < 13)
meldung = 'Guten Morgen!';
else if (d.getHours () < 18)
meldung = 'Guten Tag!';
else
meldung = 'Guten Abend!';
document.write (meldung);
// -->
</script>
Das letzte Beispiel zeigt, wie eine einfache Bannerrotation mit JavaScript realisiert werden kann. Hier wird die Sekunden-Komponente der aktuellen Uhrzeit dazu verwendet den darzustellenden Banner und den zugehörigen Link auszuwählen. Diese Auswahl wird durch die Modulo-Operation (wird mit dem Operator % durchgeführt) getroffen, welche den Restwert der ganzzahligen Division liefert. Für das vorliegende Beispiel muss der Teiler 3 gewählt werden, da es drei mögliche Banner-Link-Kombinationen gibt. Die Operation kann damit nur die Ergebnisse 0 – Sekunden-Komponente ist ohne Rest durch drei teilbar –, 1 oder 2 liefern. Der Teiler muss also stets gleich der Anzahl von Kombinationsmöglichkeiten sein.
<script language="javascript" type="text/javascript">
<!-- // JavaScript-Bereich für ältere Browser auskommentieren
// Instanz von Datum-Objekt per Default-Konstruktor
// erzeugen (mit aktueller Zeit initialisieren)
d = new Date ();
// Link und URL des Banners definieren
switch (d.getSeconds () % 3) {
case 0: link = 'http:\/\/www.evocomp.de';
imgfile = 'pic/banner-partner-a.gif';
break;
case 1: link = 'http:\/\/www.gadgets4web.net';
imgfile = 'pic/banner-partner-b.gif';
break;
case 2: link = 'http:\/\/www.dev-resource.net';
imgfile = 'pic/banner-partner-c.gif';
break;
}
// Ausgabe der Link-Banner-Kombination
document.write ('<a href=\"' + link + '\"><img src=\"' +
imgfile + '\"><\/a>');
// -->
</script>
Weitere Beispiele, welche mit dem Datum-Objekt arbeiten, finden Sie unter setInterval.
Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr
von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 AntwortHallo,
damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr
Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr
von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 AntwortIch hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr
Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr
von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 AntwortenJa genau, das war der Fehler. Vielen Dank Alex.
Hier der korrigierte Code:
<html>
<head>
<title>
Test
... » mehr
Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr
von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 AntwortenJa hervorragend, dass ist genau das was ich möchte. Danke ... » mehr
Hallo, ich bin gerade dabei die Galerie mit der Lightbox 2 zu verknüpfen, da ich die Bilder im Vollformat gerne in diesem schicken aufpoppenden ... » mehr
von GoPeter am Montag, 16. November 2009 23:38 in JavaScript - bisher 16 AntwortenSoo...hat lange gedauert...aber jetzt ist es endlich ... » mehr
¬ Menu
¬ Gratis Download
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp

JavaScript & AJAX, m. DVD-ROM
Weitere JavaScript Literaturtipps finden Sie unter JavaScript Bücher
Webdesign •
Beratung Internetseite •
Programmierung Internetseite