Verwendung von Datum und Zeit bei Server Side Includes (SSI)

Mit Hilfe von Server Side Includes (SSI) ist es möglich, Datum- und Zeitangaben des Webservers zur Erzeugung dynamischer Inhalte zu nutzen. Auch Angaben über den Zeitpunkt, zu dem Dateien auf dem Webserver gespeichert wurden können abgefragt werden. Dies kann zum Beispiel dazu dienen bestimmte seitenbezogene Daten, wie beispielsweise das Datum der letzten Änderung der jeweiligen Seite, auszugeben. Das Änderungsdatum kann in die Meta-Daten der jeweiligen Seite geschrieben sowie am Ende der Seite angezeigt werden, was dem Besucher einen Eindruck zur Aktualität der Seite vermittelt. Der folgende Code-Abschnitt zeigt einige kommentierte Anwendungsfälle:

<!-- aktuelles Datum / aktuelle Zeit (Server) -->
<!--#config timefmt="Heute ist der %d.%m.%Y und es ist %H:%M:%S Uhr" -->
Serverdatum/Zeit: <!--#echo var="DATE_LOCAL" -->

<!-- Datum der letzten Änderung der aktuellen Seite -->
<!--#config timefmt="%d.%m.%Y" -->
Letzte Seitenänderung: <!--#echo var="LAST_MODIFIED" -->

<!-- Datum der letzten Änderung einer bestimmten Datei -->
Datei /index.html zuletzt geändert: <!--#flastmod virtual="/index.html" -->

<!-- Copyright-Vermerk -->
<!--#config timefmt="%Y" -->
Copyright: &copy; 2004-<!--#echo var="DATE_LOCAL" -->

Mit dem SSI-Befehl config timefmt wird jeweils das Ausgabeformat der Zeit- bzw. Datumsangaben festgelegt. In der SSI-Variablen LOCAL_DATE sind die – entsprechend durch das eingestellte Ausgabeformat formatierten – Daten bezüglich der Serverzeit und des Serverdatums gespeichert. LAST_MODIFIED enthält dagegen Datum und Zeit der letzten Änderung an der angeforderten Seite. Der SSI-Befehl flastmod virtual ermittelt die Speicherungsdaten der Datei /index.html und gibt diese entsprechend formatiert aus. Die Ausgabe würde dann in etwa wie folgt aussehen:

Serverdatum/Zeit: Heute ist der 29.03.2024 und es ist 08:38:00 Uhr
Letzte Seitenänderung: 24.09.2007
Datei /index.html zuletzt geändert: 04.06.2008
Copyright: © 2004-2024

Auf ähnliche Weise kann auch die Dateigröße einer Datei abgefragt werden. Möchte man z.B. eine Datei zum Download zur Verfügung stellen, so kann deren Größe abgefragt und entsprechend ausgegeben werden:

<!-- Größe der Datei /download/file.zip ausgeben -->
Dateigröße: <!--#fsize virtual="/download/file.zip" -->

Es gibt aber auch andere Anwendungsfälle, in denen das Abfragen der Serverzeit oder des Serverdatums nützliche Dienste leisten kann um eine statische Internetseite etwas aufzuwerten. So können jeweils Datums- bzw. Zeitabhängige Inhalte, wie beispielsweise ein „Bild des Tages”, ein „Witz der Stunde”, eine Zeitabhängige Begrüßung, eine Geburtstagsmeldung oder ähnliches realisiert werden. Das folgende Beispiel zeigt eine einfache zeitgesteuerte Begrüßung an:

<!-- Begrüßung -->
<!--#config timefmt="%H" -->
<!--#if expr="$DATE_LOCAL < 12" -->
    Guten Morgen!
<!--#elif expr="$DATE_LOCAL < 18" -->
    Guten Tag!
<!--#else -->
    Guten Abend!
<!--#endif -->

Dieses Beispiel zeigt, dass auch auf einfache Art und Weise dynamischer Content erzeugt werden kann, der dem Besucher immer mal was Neues präsentiert.