Nicht jede Seite kann täglich aktualisiert werden. Möchte man nicht jedes Mal das Datum des letzten Updates per Hand eintragen, hilft die Javascript-Funktion document.lastModified weiter.
Diese Funktion gibt das Datum der letzten Änderung aus – allerdings ist das Format der Ausgabe von Browser zu Browser unterschiedlich. Darum wird das Skript etwas länger, wir müssen nämlich die Tage und Monate aus dem Datum gewinnen und mit der aktuellen Zeit vergleichen.
Deshalb können wir natürlich auch auf das Ergebnis Einfluss nehmen und geben nicht einfach das Datum aus, sondern auch wie viele Wochen, Monate oder Jahre die Aktualisierung her ist.
<script language="javascript">
function calcjahr(wert) {
eins = wert.getYear();
var zwei = eins % 100;
zwei += (zwei < 38) ? 2000 : 1900;
return zwei;
}
var
datum = new Date(document.lastModified);
gmtdate = new Date(datum.toGMTString());
monat = gmtdate.getMonth();
tag = gmtdate.getDate();
jahr = calcjahr(gmtdate);
var
heute = new Date();
gmtdate = new Date(heute.toGMTString());
heutemonat
= gmtdate.getMonth();
heutetag = gmtdate.getDate();
heutejahr = calcjahr(gmtdate);
var
changed = "Diese Seite wurde zuletzt ";
var tagcalc = 0;
geaendert
= (Date.UTC(jahr,monat,tag,0,0,0))/86400000;
jetzt = (Date.UTC(heutejahr,heutemonat,heutetag,0,0,0))/86400000;
tage = jetzt - geaendert;
einheit = 'Tagen';
if (tage >
730) {
tage = Math.floor(tage/365);
einheit = 'Jahren';
}
else
if (tage > 60) {
tage = Math.floor(tage/30);
einheit = 'Monaten';
}
else if (tage > 14) {
tage = Math.floor(tage/7);
einheit = 'Wochen'
}
document.write("</head><body>");
changed
= "Diese Seite wurde zuletzt ";
if (tage == 0) { changed += 'heute
geändert.'; }
else if (tage == 1) { changed += 'gestern geändert.';
}
else { changed += "vor " + tage + ' ' + einheit + ' geändert.';
}
document.write(changed);
</script>
Zuerst wird mit der Variable datum das Datum der letzten Änderung mitgeteilt. Dann werden aus diesem Wert mit getMonth und getDate Monat und Tag erzeugt. Beim Jahr wird’s schwierig, da manche Browser statt der richtigen Jahreszahl die Zahl der vergangenen Jahre seit 1900 angeben – dies überprüft die Funktion calcjahr(). Das gleiche machen wir auch mit dem aktuellen Datum, danach werden beide Daten miteinander verglichen.
Nach Anzahl der verstrichenen Tage fällt die Anzeige aus, ob seit der letzten Änderung nun Wochen, Monate oder Tage vergangen sind. Der komplette String wird in der Variablen changed gespeichert und am Ende des Skriptes mit document.write() ausgegeben.
Wie hilfreich war dieser Beitrag?
Klicke auf die Sterne um zu bewerten!
Durchschnittliche Bewertung 0 / 5. Anzahl Bewertungen: 0