Mario: Jahreszeiten mit PHP

Hallo,

gibt es eine elegantere Lösung den Namen der Jahreszeit des aktuellen Tages mit PHP heruaszubekommen:

$season = date("z");

if (($season>=1 and $season<=81)
or ($season>=355 and $season<=366)) $season2 = "winter";

if ($season>= 82 and $season<=173) $season2 = "spring";
if ($season>=174 and $season<=264) $season2 = "summer";
if ($season>=265 and $season<=354) $season2 = "autumn";

Viele Grüße,

Mario

  1. Hallo Mario!

    Vielleicht hilft dir dieser Thread (von phpforum.de) weiter:

    "php -> winter oder sommer ermitteln"
       http://www.phpforum.de/archiv_5246_php@-%3E@winter@oder@sommer@ermitteln_anzeigen.html

    1. Hallo Sky,

      Der Thread entspricht inhaltlich meiner Variante. Ich hatte nur gedacht, es gibt einfach "Verzweigtechnisch" eine bessere Variante.

      Grüße, Mario

  2. Hi Mario,

    gibt es eine elegantere Lösung den Namen der Jahreszeit des aktuellen Tages mit PHP heruaszubekommen?

    Auch wenn deine Methode einwandfrei funktioniert, besser aussehen tut es IMHO, wenn du das mit einer Switch-Anweisung machst, siehe auch http://de.php.net/manual/de/control-structures.switch.php, wobei für dich der erste Kommentar interessant sein dürfte.

    Aber mal noch ne andere Frage: Jetzt haben wir doch eigentlich Sommer, aber hier bei mir (näher Köln) würde man von Wetter her denken, dass Frühling ist, also ..... ;-)

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
    Zufällige Hinweise:
    ------------------------
    Den Selfcode kann man sich brigends hier decoden lassen:
    http://www.peter.in-berlin.de/projekte/selfcode/
    1. Hallo Dennis,

      Switch war auch mein erster Gedanke, nur leider gibt es keine Möglichkeit die Verzweigungen in dererlei Art zu gestalten:

      CASE von X TO Y: tue das BREAK;
      CASE von A TO B: tue das BREAK;

      Danke für den Link.

      Aber vielleicht hat noch jemand eine Idee?

      Gruss Mario.

      1. Hi Mario,

        Aber vielleicht hat noch jemand eine Idee?

        Wie oben bereits gesagt wurde, definier erst mal eindeutig die Jahreszeiten ;-)

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:{ br:^ va:) ls:< fo:) rl:( n4:& ss:) de:> js:( ch:{ sh:( mo:} zu:|
        Zufällige Hinweise:
        ------------------------
        - Tja, der Server ist wohl down :-/ -
  3. Mario,
    Biste sicher dass du dich bei Schaltjahren nicht verrechnest?

    Und woher weißt du, an welchem Datum der Frühlings-/Sommer-/...-Anfang ist? Diese schwanken von Jahr zu Jahr.

    Gunnar

    --
    "(Der Student) kann sich so völlig dem hingeben, was er naiv für die Computerwissenschaft hält, also der bloßen Verfeinerung seiner Programmiertechniken, daß er sich auf diese Weise effektiv daran hindert, etwas wirklich Wesentliches zu studieren."
    (Joseph Weizenbaum in "Die Macht der Computer und die Ohnmacht der Vernunft")
    1. Hallo Gunnar,

      ich werde das prüfen. Im schlimmsten Fall wird der Code noch größer:

      Vorüberlegung:
      a,b,c,d,e Erster Tag der Jahreszeit, e = letzter

      Array Jahreszeit (W,F,S,H)
      Jahr(Aktulles Datum) hat wieviel Tage?
      bei 365 Tagen Array (a1,b1,c1,d1,e1)
      bei 366 Tagen Array (a2,b2,c2,d2,e2)
      Schleife Wert x  1 bis 4 {
      if Datum (Tag) >= Array Wert x and <= Array Wert x +1 dann      richtige Jahreszeit = Jahreszeit(x)
      }
      Ausgabe richtige Jahreszeit

      Vielleicht so.

      Grüße Mario

      Mario,
      Biste sicher dass du dich bei Schaltjahren nicht verrechnest?

      Und woher weißt du, an welchem Datum der Frühlings-/Sommer-/...-Anfang ist? Diese schwanken von Jahr zu Jahr.

      Gunnar

      1. bei 365 Tagen Array (a1,b1,c1,d1,e1)
        bei 366 Tagen Array (a2,b2,c2,d2,e2)

        Mario,
        Schon mal ein Anfang. Aber wo bekommst du a1, ..., e1, a2, ..., e2 her?

        Dass in diesem Jahr der Herbstanfang auf den 22. Septemper fällt*, heißt nicht, dass das im nächsten Jahr auch der Fall sein wird. Vielleicht ist es der 23., vielleicht auch der 21. Da müssen schon Formeln über die Bewegung der Erde um die Sonne her.

        Gunnar

        * wenn ich aus dem Fenster schaue, glaub ich das nicht.

        --
        "(Der Student) kann sich so völlig dem hingeben, was er naiv für die Computerwissenschaft hält, also der bloßen Verfeinerung seiner Programmiertechniken, daß er sich auf diese Weise effektiv daran hindert, etwas wirklich Wesentliches zu studieren."
        (Joseph Weizenbaum in "Die Macht der Computer und die Ohnmacht der Vernunft")
        1. Da müssen schon Formeln über die Bewegung der Erde um die Sonne her.

          Wo wir schon bei Astronomie sind: Die Jahreszeiten wechseln nicht an einem Tag X (um 00:00 Uhr), sondern zu einem bestimmten Zeitpunkt (Uhrzeit). Das wird in den meisten Kalendern unterschlagen, wie auch in deiner Berechnung.

          Gunnar

          --
          "(Der Student) kann sich so völlig dem hingeben, was er naiv für die Computerwissenschaft hält, also der bloßen Verfeinerung seiner Programmiertechniken, daß er sich auf diese Weise effektiv daran hindert, etwas wirklich Wesentliches zu studieren."
          (Joseph Weizenbaum in "Die Macht der Computer und die Ohnmacht der Vernunft")