Ergebnis 1 bis 5 von 5

Thema: PHP Schaltjahr

  1. #1
    mmaisch
    Gast

    Standard PHP Schaltjahr

    Hi, ich will für verschiedene jahre schauen, ob sie schaltjahre sind und dann den februar entsprechend anpassen:

    Code:
    <?php
    
    $jahr = 2002;
    
    $timestamp = strtotime&#40;"$jahr"&#41;;
    $schaltjahr = date&#40;"L", $timestamp&#41;;
    if&#40;$schaltjahr == 0&#41; &#123; $feb = 28; &#125; else &#123; $feb = 29; &#125;
    
    echo "der februar des jahres $jahr hat $feb tage";
    ?>
    leider funzt das nicht... $feb ist immer gleich 0...


    Noch eine andere Frage:
    Gibt es eine Funktion, um zu schauen, ob eine Zahl Komastellen hat? also 28.463 wäre FALSE, 7 hingegen TRUE.

    danke!
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Azubi(ne)
    Registriert seit
    27.11.2006
    Beiträge
    86
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Code:
    $jahr = 2004;
    
    $timestamp = strtotime&#40;"10 September ".$jahr&#41;;
    $schaltjahr = date&#40;"L", $timestamp&#41;;
    if&#40;intval&#40;$schaltjahr == 0&#41;&#41; &#123; $feb = 28; &#125; else &#123; $feb = 29; &#125;
    
    echo "der februar des jahres ".$jahr." hat ".$feb." tage";
    Zu 2: is_int()

  3. #3
    Forum Guru
    Registriert seit
    14.06.2004
    Ort
    Schleswig-Holstein
    Beiträge
    5.439
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Re: PHP Schaltjahr

    Moin!

    Das kann so nichts werden, denn du mußt mit dem Jahr auch Monat und Tag übergeben, also z.B.
    Code:
    $jahr = "20 January 2002";
    Wenn du nur ermitteln willst, ob sich eine bestimmte Jahreszahl um ein Schaltjahr handelt, dann kannst du das viel einfacher erreichen: alle Jahre, die sich ohne Rest durch 4 teilen lassen, sind Schaltjahre.
    Code:
    $jahr = 2002;
    is_int&#40;$jahr/4&#41; ? $feb=29&#58;$feb=28;
    echo "der Februar hat $feb Tage";
    Zitat Zitat von mmaisch
    Noch eine andere Frage:
    Gibt es eine Funktion, um zu schauen, ob eine Zahl Komastellen hat? also 28.463 wäre FALSE, 7 hingegen TRUE.
    Code:
    echo is_int&#40;28.463&#41;." - ".is_int&#40;7&#41;;
    Das ergibt im ersten Fall false (es wird nichts angezeigt) und im zweiten Fall true (es wird eine 1 angezeigt).

    G.a.d.M.

    Ronald

  4. #4
    Kaiser(in)
    Registriert seit
    09.12.2005
    Alter
    29
    Beiträge
    2.496
    Danke
    1
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    fast, es gibt noch ausnahme-regelungen, auch wenns noch ne weile dauert bis es wieder eintritt !!



    wikipedia:
    Ein Schaltjahr ist alle vier Jahre (1992 und 1996 waren z.B. Schaltjahre)

    alle hundert Jahre nicht (1700 und 1800 waren keine Schaltjahre)

    und alle vierhundert Jahre doch (2000 war doch ein Schaltjahr)
    also:

    if(($jahr % 4 == 0 && $jahr % 100 != 0) || $jahr % 400 == 0) {
    $feb = 29;
    }
    esle {
    $fed = 28
    }
    Sei immer du selbst. Außer du kannst Batman sein. Sei immer Batman!

  5. #5
    mmaisch
    Gast

    Standard

    @ christopher, ronald: danke für den tipp
    @ BendOr: merci, hab es so übernommen!

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •