[JS] Datum prüfen ob Sommer- oder Winterzeit?

schutzgeist

Erfahrenes Mitglied
Hallo miteinander,

ich habe eine Formular, dass Kalendereinträge in eine Anwendung erstellen soll - das funktioniert auch soweit.

Nur leider bekomme ich das mit der Sommer- und Winterzeit nicht in den Griff.

Ich hatte bereits
Code:
var jetzt = new Date();
var Unterschied = jetzt.getTimezoneOffset() / 60;
if (Unterschied == -2) {
	var x = 7200;
}
if (Unterschied == -1) {
	var x = 3600;
}

funktioniert auch - nur bringt mir das nichts, wenn ich z.B. heute einen Termin im Dezember eintragen will ;)

Wie kann ich aus einem HTML Formular das Datum für den Termin abfangen und dann prüfen, ob sich das Datum in der Sommer- oder Winterzeit befindet?

Danke schonmal,
schutzgeist :)
 
Moin,

man kann den Datumswert eines Date-Objektes auch setzen...also in deinem Fall mit dem Wert aus dem Formular.

Kleine Hilfsfunktion:
Code:
Date.prototype.DST=function()
{  
  new Date(1).getTimezoneOffset() / 60;
  return (((new Date(1).getTimezoneOffset() / 60)==(this.getTimezoneOffset() / 60))?false:true);
}

Sie liefert true bei Sommerzeit, false bei Winterzeit (Clientzeit)

Kurzes Anwendungsbeispiel:
Code:
dates = [
          new Date(),
          new Date(2010,11,24),
          new Date(2010,2,28),          
          new Date(2010,2,28,3,0,0),          
        ];

for(var k in dates)
{
  alert(dates[k].toLocaleString()+'\nist '+((dates[k].DST())?'Sommer':'Winter')+'zeit');
}
 
Eines bliebe dazu jedoch noch anzumerken :-)

Das funktioniert solange, wie der Benutzer von der nördlichen Halbkugel stammt.
Auf der südlichen Halbkugel beginnt die Sommerzeit ja dann, wenn bei uns die Winterzeit startet....die Methode gibt bei Aussis & Co. also immer etwas falsches zurück.
Eine JS-basierte Möglichkeit, um herauszufinden, in welcher Hemisphäre sich jemand befindet, ist mir nicht bekannt :(
 

Neue Beiträge

Zurück