steff: Datumskonvertierung

Hallo zusammen,

ich bekomme aus der Datenbank ein Datums im Format JJJJMMTT (20091128) und möchte hier 5 Tage dazuzählen, das Ergebniss sollte dann 20091203 sein. Wie könnte ich das formatieren und parsen?

Kann mir da jemand einen Tipp geben?

Viele Grüße
Steff

  1. Hallo,

    ich bekomme aus der Datenbank ein Datums im Format JJJJMMTT (20091128) und möchte hier 5 Tage dazuzählen, das Ergebniss sollte dann 20091203 sein.

    bevor wir uns über komplizierte Methoden unterhalten: Was ist das für eine Datenbank? Vermutlich kann die das allein schon sehr gut, wenn man das in der Abfrage entsprechend angibt.

    Ciao,
     Martin

    --
    Man sollte keinen Senf von sich geben, wenn man nicht auch das Würstchen dazu liefern kann.
    1. Hallo zusammen,

      nach langem propieren habe ich nun doch einen Lösungsweg gefunden.

      var VADat = "20091128";

      DatTemp = new Date(VADat.replace(/(\d\d)(\d\d)$/, "/$1/$2")) var millisecToday = Date.parse(DatTemp.toGMTString()); var oDateLimit = new Date(millisecToday + 1000 * 60 * 60 * 24 * 5); var lDateLimit = DateToBTRFormat(oDateLimit);

      lDateLimit ist nun 20091203

      :-)

      1. nur eine kleine Frage habe ich noch.

        Ich habe nun das datum 20091117 und das Ergebniss soll nur ausgegeben werden, wenn es von diesem Datum an + 5 Tage ist also es soll am 20091122 verschwinden.

        Wie kann ich das abfragen

        1. Mahlzeit Steff,

          Ich habe nun das datum 20091117 und das Ergebniss

          Welches Ergebnis?

          soll nur ausgegeben werden, wenn es von diesem Datum an + 5 Tage ist

          Du kannst das von Dir generierte Date-Objekt doch jederzeit mit einem frisch erzeugten (das das aktuelle Datum und die aktuelle Uhrzeit des Clients enthält) vergleichen ...

          also es soll am 20091122 verschwinden.

          Definiere "verschwinden" - was meinst Du damit?

          MfG,
          EKKi

          --
          sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
      2. Mahlzeit Steff,

        nach langem propieren habe ich nun doch einen Lösungsweg gefunden.

        Soso - nach langem Probieren also ...

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Mahlzeit steff,

    ich bekomme aus der Datenbank ein Datums im Format JJJJMMTT (20091128) und möchte hier 5 Tage dazuzählen, das Ergebniss sollte dann 20091203 sein.

    Abgesehen von Der Martins sehr gutem Hinweis könnte folgendes Vorgehen von Erfolg gekrönt sein:

    * <http://de.selfhtml.org/javascript/objekte/string.htm#substr@title=Teile den String> in Jahr, Monat und Tag auf.

    * Erstelle ein http://de.selfhtml.org/javascript/objekte/date.htm@title=Date-Objekt mittels der ermittelten Werte für Jahr, Monat und Tag (Variante 4) - als Uhrzeit solltest Du 12 Uhr mittags angeben (damit Du nicht in die Normal-/Sommerzeitproblematik gerätst).

    * <http://de.selfhtml.org/javascript/objekte/date.htm#parse@title=Ermittle die zwischem vom 01.01.1970 bis zum Ausgangszeitpunkt verstrichenen Millisekunden.>

    * Addiere die gewünschte Anzahl an Millisekunden.

    * Erstelle ein neues Date-Objekt für den Endzeitpunkt (Variante 5).

    * Ermittle http://de.selfhtml.org/javascript/objekte/date.htm#get_full_year@title=Jahr, http://de.selfhtml.org/javascript/objekte/date.htm#get_month@title=Monat und http://de.selfhtml.org/javascript/objekte/date.htm#get_date@title=Tag (beachte dabei die Erläuterung! - Arrays beginnen in Javascript mit 0).

    * Setze einen neuen String aus den Angaben zusammen.

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|