Start · Sprachen · JavaScript · Referenz · Document.lastModified

Document.lastModified

Eigenschaft

Liefert als String Datum und lokale Uhrzeit der letzten Änderung des aktuellen Dokuments im Format <code>MM/DD/YYYY hh:mm:ss</code>.

seit JavaScript Baseline: alle Browser Kategorie: webapi

Signatur

get Document.lastModified

Beschreibung

Die schreibgeschützte Eigenschaft document.lastModified gibt einen String zurück, der Datum und Uhrzeit der letzten Änderung des Dokuments in der lokalen Zeitzone des Nutzers enthält. Das Format ist laut HTML-Standard fest vorgegeben: MM/DD/YYYY hh:mm:ss (z. B. "03/14/2024 09:26:53") – also US-Reihenfolge mit Monat vorn, unabhängig von der Spracheinstellung.

Der Wert stammt in der Regel aus dem HTTP-Antwort-Header Last-Modified. Sendet der Server diesen Header nicht (typisch bei dynamisch erzeugten Seiten, PHP, Node.js, SSR), liefern Browser stattdessen die aktuelle Uhrzeit – der Wert ändert sich dann bei jedem Neuladen.

Typische Einsatzfälle sind ein „Zuletzt aktualisiert“-Hinweis im Seitenfuß statischer Seiten oder eine einfache Prüfung, ob sich eine Seite seit dem letzten Besuch geändert hat. Zur Weiterverarbeitung wandelt man den String am besten mit new Date(document.lastModified) oder Date.parse() in ein Date-Objekt um und formatiert ihn anschließend lokalisiert, etwa mit Intl.DateTimeFormat.

Rückgabewert

Typ
string
Beschreibung
Datum und lokale Uhrzeit der letzten Änderung im Format MM/DD/YYYY hh:mm:ss. Ist keine Angabe verfügbar, die aktuelle Uhrzeit.

Beispiele

Rohwert auslesen

console.log(document.lastModified);
03/14/2024 09:26:53

„Zuletzt aktualisiert“ lokalisiert im Footer anzeigen

const geaendert = new Date(document.lastModified);
const format = new Intl.DateTimeFormat('de-DE', {
  dateStyle: 'long',
  timeStyle: 'short'
});

const footer = document.querySelector('footer');
const hinweis = document.createElement('p');
hinweis.textContent = `Zuletzt aktualisiert: ${format.format(geaendert)}`;
footer?.append(hinweis);
Zuletzt aktualisiert: 14. März 2024 um 09:26

Änderung seit dem letzten Besuch erkennen

const schluessel = `lastModified:${location.pathname}`;
const aktuell = Date.parse(document.lastModified);
const gespeichert = Number(localStorage.getItem(schluessel));

if (gespeichert && aktuell > gespeichert) {
  console.log('Diese Seite wurde seit Ihrem letzten Besuch geändert.');
}
localStorage.setItem(schluessel, String(aktuell));
Diese Seite wurde seit Ihrem letzten Besuch geändert.

Prüfen, ob der Wert nur die aktuelle Zeit ist

const alterInSekunden = (Date.now() - Date.parse(document.lastModified)) / 1000;

if (alterInSekunden < 2) {
  console.log('Kein Last-Modified-Header – Wert entspricht vermutlich der Ladezeit.');
} else {
  console.log(`Dokument ist ${Math.round(alterInSekunden / 3600)} Stunden alt.`);
}
Kein Last-Modified-Header – Wert entspricht vermutlich der Ladezeit.

// Wichtig · Fallstricke

  • Fehlender Header: Ohne Last-Modified-Header gibt der Browser die aktuelle Uhrzeit zurück. Bei dynamischen Seiten ist der Wert daher oft wertlos.
  • Festes US-Format: Der String hat immer MM/DD/YYYY. Nicht per split() als deutsches Datum deuten, sondern mit new Date() umwandeln.
  • Keine Zeitzonenangabe: Der Wert steht in lokaler Zeit ohne Offset. Bei der Umwandlung wird er als lokale Zeit gelesen. Zum Vergleich über Zeitzonen hinweg besser den HTTP-Header per fetch() mit response.headers.get('Last-Modified') auswerten.
  • Schreibgeschützt: Eine Zuweisung wird stillschweigend ignoriert.
  • Kompatibilität: In allen Browsern verfügbar. Bei file://-URLs wird meist das Änderungsdatum der Datei verwendet; das Verhalten kann je nach Browser leicht abweichen.