SSI mit datumsüberprüfung

hi,
ich hole mir in einer shtml-seite mit dem befehl

das lokale datum des servers (um nicht von möglicherweise falschen datumsangaben auf der client-seite abhängig zu sein. das funktioniert auch ganz gut.
nun ist der wunsch des anwenders, dass ein serverdatum, das auf samstag oder sonntag fällt, nicht angezeigt wird (sondern auf dem freitagsdatum verbleibt).

wie kann ich den o.a. SSI-befehl auf einen wochentag abfragen und das ergebnis entsprechend verarbeiten? hat jemand erfahrung?

(mit javascript: „var wochentag = datum.getDay()“ etc.) mach ich mich leider wieder vom client abhängig.

aha
m

Hallo,

ich hole mir in einer shtml-seite mit dem befehl

das lokale datum des servers (um nicht von möglicherweise
falschen datumsangaben auf der client-seite abhängig zu sein.
das funktioniert auch ganz gut.
nun ist der wunsch des anwenders, dass ein serverdatum, das
auf samstag oder sonntag fällt, nicht angezeigt wird (sondern
auf dem freitagsdatum verbleibt).

wie kann ich den o.a. SSI-befehl auf einen wochentag abfragen
und das ergebnis entsprechend verarbeiten? hat jemand
erfahrung?

Das geht nicht mit simplem ssi, du brauchst
schon z.b. #exec cmd oder eventuell #include virtual

Beispiel: Aktuelles Datum minus n Tage (1 bzw. 2)Untitled Document

Grüße

CMБ

Hallo,

vielleicht noch eine Alternative ohne CGI.
Dazu kann man die SSI Ausgabe des Datums mit dem lokalen des Client abgleichen und mit der Diferenz dann das echte Datum auf dem Server ausrechnen.

 var serverDate=new Date(\<!--#echo var="DATE\_LOCAL" --&gt:wink:;
 var localDate=new Date();
 var localDateDifference=localDate.getTime()-serverDate.getTime();
 function currentServerDate(localDate){
 if (localDate==null){
 localDate=new Date();
 }
 return new Date(localDate.getTime()-localDateDifference);
 }

und zum Testen:

 function showCurrentDates(){
 var lDate=new Date();
 document.getElementById("localTime").innerText=lDate.toLocaleString();
 document.getElementById("serverTime").innerText=currentServerDate(lDate).toLocaleString();
 }
 document.write("local start date:"+localDate.toLocaleString()+"\<br\>");
 document.write("server start date:"+serverDate.toLocaleString()+"\<br\>");
 document.write("difference:"+localDateDifference+"\<br\>");

 Aktuelles Datum lokal:

 Berechnetes Serverdatum:
[Aktualisieren](javascript:showCurrentDates();)

Mit currentServerDate(new Date()) bekommst Du dann immer das aktuelle Datum auf dem Server und kannst dann damit arbeiten. Allerdings gibt es natürlich eine kleine zeitliche Verzögerung zwischen Server und Browser aufgrund der Datenübertragung, das sollte aber bei einer Kontrolle auf den Wochentag zu verschmerzen sein.

-Sascha

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]