Variableninhalt je nach Datum ändern

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variableninhalt je nach Datum ändern

    Wie kann ich den Inhalt einer Variablen $jahreszeit je nach Jahreszeit ändern?
    Möchte gerne, dass während dem Frühling, der Inhalt der Variablen "Frühling" ist, im Sommer "Sommer" usw..
    Weiß aber nicht genau, wie ich die PHP-Datums Funktionen dafür benutzen kann?!

    Wäre schön, wenn mir jemand nen Tipp geben könnte!

  • #2
    http://de.php.net/manual/de/function.date.php

    man nimmt sich die tage, monate jedes jahr getrennt.
    diese werden mit einer referenztabelle (array) verglichen, wann welche jahreszeit ist. fertig.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Danke für die Antwort, Abraxax und auch danke für den Link.
      Ist aber nicht so, dass ich die date-Funktionen nicht nachgeschlagen hätte.
      Das ist auch nicht mein Problem.
      Ich weiß nur eben nicht, wie ich jetzt mit Hilfe der Date-Funktionen den Inhalt der Variablen ändern kann.

      Wie meinst Du das genau mit Referenztabelle (array) vergleichen?

      Im Prinzip muss ich es doch so machen:

      Ich checke das aktuelle Datum (also z.b. 4. März) - das Jahr ist ja egal.
      Dann lege ich den Tag (4.) und den Monat (März) in Variablen ab.
      Soweit ist das noch klar.

      Aber wie soll ich jetzt den Vergleich anstellen?

      Kommentar


      • #4
        das jahr ist eben nicht egal. die jahreszeiten errechnen sich aufgrund der umrundung der erde um die sonne. der sommer beginnt nicht zwangsläufig am 21.06. sondern kann auch mal am 20.06. oder 22.06. beginnen. einer der beiden tage zumindest.

        daher die referenztabelle (array) um die daten schon mal fix einzutragen.

        PHP-Code:
        // beispiel 1
        $array[2003]["sommer"]["start"] = "2003-06-21";
        $array[2003]["sommer"]["ende"]  = "2003-09-20";
        .
        .
        .

        // beispiel 2
        $array[2003]["06-21"] = "sommer";
        $array[2003]["09-21"] = "herbst";
        $array[2003]["12-21"] = "winter";
        .
        .

        irgendwie so musst du das machen. um etwas im array zu finden, musst
        du die array-funktionen nutzen. da gibt es auch was zum suchen.

        http://de.php.net/manual/de/function.array-search.php

        vielleicht gibt es auch bereits funktionen dafür. musst du mal suchen
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          PHP-Code:
          $now=(int)date(nd);
          $jahreszeit="Winter";
          if(
          $now>=321)$jahreszeit="Frühling";
          if(
          $now>=621)$jahreszeit="Sommer";
          if(
          $now>=921)$jahreszeit="Herbst";
          if(
          $now>=1221)$jahreszeit="Winter"
          ...auf die Jahre würd ich scheiBen...
          eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

          Kommentar


          • #6
            super sache...

            wenn mans nicht exakt haben will oder brauch, ist diese lösung bestimmt mit abstand eine der besten...
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              ich weiß
              eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

              Kommentar


              • #8
                danke Euch beiden! Habt mir sehr geholfen!
                Brauch kein so exaktes Ergebnis, also werde ich wohl auf Slartis Methode zurückgreifen.

                Kommentar

                Lädt...
                X