Brigitte: Kalender - Anzahl Tage als Datum ausgeben

Liebe Selfhtml-User,

Ich bin seit einiger Zeit auf der Suche nach einem Kalenderscript, das wie folgt funktionieren soll:
Es soll ein Datum (z.B. Anreisedatum) angegeben werden und daraufhin eine Zahl (z.B. Anzahl der Übernachtungen). Nun soll das Script die Anzahl der Übernachtungen auf das Datum "addieren" und als Datum (z.B. Abreisedatum)wieder ausgeben!
Um genau zu sein, ich hätte gerne sowas, wie es hier zu finden ist:
Sofitel
Kennt hier jemand zufälligerweise schon ein "fertiges" Skript?
Bin nämlich leider blutjunger Anfänger!

Vielen lieben Dank für eure Hilfe,

MfG, Bibi

  1. Hallo,

    in  jedem fall werden die funktionen mktime() und date() benötigt, wenn es denn um php geht.

    Gruß

    jobo

    1. Hallo

      in  jedem fall werden die funktionen mktime() und date() benötigt, wenn es denn um php geht.

      Ja, besonders, wenn "JavaScript" als Kategorie gewählt wurde. :-)

      Aber grundsätzlich funktioniert das in JavaScript analog zu den von dir genannten PHP-Funktionen. Mit den http://de.selfhtml.org/javascript/objekte/date.htm@title=Datumsfunktionen lässt sich das angegebene Datum in einen Zeitstempel (UNIX-Timestamp (Anzahl der Sekunden seit dem 01.01.1970 0 Uhr)) umwandeln, der angegebene Zeitraum lässt sich ebenfalls in Sekunden umrechnen (86400 pro Tag). Beide Angaben lassen sich addieren und das Ergebnis der Addition (ebenfalls ein UNIX-Timestamp) lässt sich wieder in ein Datum umwandeln.

      Wenn der Anwendungsfall so liegt, wie das Eröffnungsposting vermuten lässt, ist die JavaScript-Funktion der Komfort, der die *Zugabe* zur serverseitigen Auswertung (z.B. mit PHP) ist. Damit wären wir wieder bei den von dir genannten PHP-Funktionen.

      Tschö, Auge

      --
      Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
      Terry Pratchett, "Wachen! Wachen!"
      Veranstaltungsdatenbank Vdb 0.3
      1. Hi!

        Aber grundsätzlich funktioniert das in JavaScript analog zu den von dir genannten PHP-Funktionen.

        Soweit richtig. (Zumindest was mktime() angeht (dazu siehe unten). Ein Äquivalent zu PHPs date() kenne ich für Javascript nicht.)

        Mit den http://de.selfhtml.org/javascript/objekte/date.htm@title=Datumsfunktionen lässt sich das angegebene Datum in einen Zeitstempel (UNIX-Timestamp (Anzahl der Sekunden seit dem 01.01.1970 0 Uhr)) umwandeln, der angegebene Zeitraum lässt sich ebenfalls in Sekunden umrechnen (86400 pro Tag).

        Das ist recht umständlich und der zweite Klammerteil stimmt nicht. Es gibt da ein Gesetz, das für zwei Tage im Jahr Ausnahmen festlegt (Schaltsekunden können ignoriert werden).

        Beide Angaben lassen sich addieren und das Ergebnis der Addition (ebenfalls ein UNIX-Timestamp) lässt sich wieder in ein Datum umwandeln.

        Das Addieren kann man gleich beim Datumerzeugen erledigen. Der 30. Februar beispielsweise, der 7 Tage nach dem 23. Februar liegt, lässt sich als

        new Date(2009, 1, 23 + 7) // oder new Date(2009, 1, 30)

        angeben. Der Date-Konstruktor rechnet das in einen gültigen Zeitwert um, sprich: 2. März 2009

        Damit wären wir wieder bei den von dir genannten PHP-Funktionen.

        Genau, mktime() macht das nämlich auch so.

        Lo!

        1. Hallo

          Aber grundsätzlich funktioniert das in JavaScript analog zu den von dir genannten PHP-Funktionen.

          Soweit richtig. (Zumindest was mktime() angeht (dazu siehe unten). Ein Äquivalent zu PHPs date() kenne ich für Javascript nicht.)

          Ich wollte nicht explizit auf die Funktionsnamen abstellen, sondern auf den/einen Lösungsweg.

          Mit den Datumsfunktionen lässt sich das angegebene Datum in einen Zeitstempel (UNIX-Timestamp (Anzahl der Sekunden seit dem 01.01.1970 0 Uhr)) umwandeln, der angegebene Zeitraum lässt sich ebenfalls in Sekunden umrechnen (86400 pro Tag).

          Das ist recht umständlich und der zweite Klammerteil stimmt nicht.

          (UNIX-Timestamp (Anzahl der Sekunden seit dem 01.01.1970 0 Uhr))

          Nicht? Bis auf die _Ungenauigkeit_, nicht erwähnt zu haben, dass es dabei um UTC bzw. GMT geht, habe ich mir nichts vorzuwerfen. Für meinen Lösungsweg, egal, wie umständlich er sein mag, ist diese Information aber unerheblich. Es wird ja nicht durch verschiedene Zeitzonen gesprungen.

          Tschö, Auge

          --
          Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
          Terry Pratchett, "Wachen! Wachen!"
          Veranstaltungsdatenbank Vdb 0.3
          1. Hi!

            Mit den Datumsfunktionen lässt sich das angegebene Datum in einen Zeitstempel (UNIX-Timestamp (Anzahl der Sekunden seit dem 01.01.1970 0 Uhr)) umwandeln, der angegebene Zeitraum lässt sich ebenfalls in Sekunden umrechnen (86400 pro Tag).

            Das ist recht umständlich und der zweite Klammerteil stimmt nicht.

            (UNIX-Timestamp (Anzahl der Sekunden seit dem 01.01.1970 0 Uhr))

            Nicht? Bis auf die _Ungenauigkeit_, nicht erwähnt zu haben, dass es dabei um UTC bzw. GMT geht, habe ich mir nichts vorzuwerfen. Für meinen Lösungsweg, egal, wie umständlich er sein mag, ist diese Information aber unerheblich. Es wird ja nicht durch verschiedene Zeitzonen gesprungen.

            UTC/GMT ist zwar auch ein Punkt, aber das meinte ich eigentlich nicht sondern die 86400-Sekunden-Aussage, was durch meinen nachfolgenden von dir nicht zitierten Satz deutlich werden sollte. Und Zeitzonensprünge kommen eben deshalb sehr wohl vor, nämlich von MEZ nach MESZ und zurück.

            Lo!

            1. Hallo

              Mit den Datumsfunktionen lässt sich das angegebene Datum in einen Zeitstempel (UNIX-Timestamp (Anzahl der Sekunden seit dem 01.01.1970 0 Uhr)) umwandeln, der angegebene Zeitraum lässt sich ebenfalls in Sekunden umrechnen (86400 pro Tag).

              Das ist recht umständlich und der zweite Klammerteil stimmt nicht.

              UTC/GMT ist zwar auch ein Punkt, aber das meinte ich eigentlich nicht sondern die 86400-Sekunden-Aussage, was durch meinen nachfolgenden von dir nicht zitierten Satz deutlich werden sollte. Und Zeitzonensprünge kommen eben deshalb sehr wohl vor, nämlich von MEZ nach MESZ und zurück.

              Dann schreibe bitte nicht vom zweiten Klammerteil, sondern von der zweiten Klammer(ung). Das sollte Verwechslungen ausschließen. Denn nochma:

              Es gibt da ein Gesetz, das für zwei Tage im Jahr Ausnahmen festlegt (Schaltsekunden können ignoriert werden).

              Da hast du, an zwei Tagen im Jahr, faktisch recht. Allerdings gibt es bei mir keine Sommerzeit (außer auf dem Funkwecker, der macht das leider automatisch).

              Tschö, Auge

              --
              Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
              Terry Pratchett, "Wachen! Wachen!"
              Veranstaltungsdatenbank Vdb 0.3