Datum über Slider einstellen / Datumsauswahl via Schieber

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Datum über Slider einstellen / Datumsauswahl via Schieber

    Hallo Freunde der Matrix,

    folgendes Problem; zwei Formular-Felder für die Eingabe eines Startdatums und eines Enddatums sollen platziert werden.

    Das Startdatum wird zunächst vorgegeben, kann aber beliebig durch den Benutzer verändert werden.

    Das gleiche gilt für das Enddatum. Für die Auswahl des Enddatums möchte ich dem Benutzer aber noch ein spezielles Hilfsmittel geben - einen Schieberegler.

    Mit diesem Schieberegler soll sich das Enddatum verändern lassen, und zwar wochenweise, ausgehend vom Startdatum.

    Das bedeutet, der Benutzer trägt sein Startdatum ein und schiebt den Schieberegler nach rechts. Das Datum im Formular-Feld "Enddatum" springt entsprechend der Schrittweite des Schiebereglers pro Schritt um eine Woche nach vorne (Schieberegler-Bewegung von Links nach Rechts) bzw. um eine Woche zurück (Schieberegler-Bewegung von Rechts nach Links).

    Bei Bewegung ändert sich schon der Wert, allerdings ist dieser derzeit noch Integer. Wie setze ich den Wert in ein Datum um, dass pro Schritt um eine Woche nach vorne bzw. um eine Woche zurück springt (ausgehend vom Startdatum), also z.B. bei der Bewegung von einem Slider-Schritt nach rechts vom 01.01.2006 auf den 08.01.2006 und bei einem Slider-Schritt nach links vom 08.01.2006 wieder zurück auf den 01.01.2006??


    Vielen Dank für Hilfe!!!

    Greetings,
    xound
    Um Rekursionen zu verstehen, muss man zuerst Rekursionen verstehen...
  • http://de.selfhtml.org/javascript/objekte/date.htm

    Musst die Eingangszeit in Millisekunden umwandeln.
    Dann kannst du zu dieser Anzahl die Millisekunden eines Tages (multipliziert mit dem Wert des Triggers) dazu addieren.

    Bei der Ausgabe natürlich wieder in ein Zeitobjekt konvertieren
    var jetzt = new Date();
    div.innerHTML = jetzt.toGMTString();
  • "d0nUt" schrieb:

    http://de.selfhtml.org/javascript/objekte/date.htm

    Musst die Eingangszeit in Millisekunden umwandeln.
    Dann kannst du zu dieser Anzahl die Millisekunden eines Tages (multipliziert mit dem Wert des Triggers) dazu addieren.

    Bei der Ausgabe natürlich wieder in ein Zeitobjekt konvertieren
    var jetzt = new Date();
    div.innerHTML = jetzt.toGMTString();



    Leider 2 Ungereimtheiten ... ich hab noch keine genaue Idee, wie ich das Startdatum entsprechend des Formularfeldes addieren soll. Darüber hinaus scheint "toLocaleString()" für die Formatierung des Enddatums im entsprechenden Formularfeld von den jeweiligen Browsern anders interpretiert zu werden. Im Internet Explorer ist es in der Art "Donnerstag, 15. Januar 2006 00:00:00" und im Opera "15.01.2006 00:00:00" ...

    Hast Du evtl. noch Ideen, wie man an diese beiden Probleme herangehen kann?

    Vielen Dank und Gruß
    Um Rekursionen zu verstehen, muss man zuerst Rekursionen verstehen...
  • hatte schonmal ein ähnliches Script erstellt.
    Das hier sollte das sein, was du suchst.

    Quellcode

    1. function startZero(val) {
    2. return (val<10?'0':'')+val;
    3. }
    4. function datum(T) {
    5. return startZero(T.getDate())+'.'+startZero(T.getMonth())+'.'+T.getFullYear()+' '+
    6. startZero(T.getHours())+':'+startZero(T.getMinutes())
    7. }
    8. var regler = 5; //Anzahl der Tage
    9. var T = new Date();
    10. var M = Date.parse(T.toGMTString())+ (regler*86400000);
    11. var T2 = new Date(M);
    12. document.getElementById('start').value = datum(T);
    13. document.getElementById('ende')value = datum(T2);
    Alles anzeigen