Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
 
 
 

Wie berechne ich in Php ein Schaltjahr

Sie befinden sich: Home > Php Tutorial > Wie berechne ich in Php ein...

Wie berechne ich in Php ein Schaltjahr


Eintrag am:  08.01.2010
Hits / Besucher:  9864
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

Heute bin ich bei einer Datumsberechnung auf das Problem gestoßen, wie ich ordnungsgemäß das Schaltjahr berechne. Da dies gewisse Regeln hat und es keine explizite Funktion in der Programmiersprache PHP gibt, muss man sich auf anderen wegen behilflich sein.

Da ich selbst mich noch nie damit beschäftigt habe, musste ich erst selber diesbezüglich mich mit den Regeln befassen. Es hatte sich bereits Wolfgang in unserer News Rubrik mit der Berechnung des Schaltjahrs beschäftigt. Diese Funktion wurde aber nicht unbedingt optimal und ausführlich erklärt, daher dachte ich mir, dass ich diesbezüglich ein eigenständiges Tutorial verfasse.

Also kommen wir mal auf den Nenner, wenn man ein Schaltjahr berechnen möchte, muss man folgende Regeln anwenden.

  1. Das Jahr muss ohne Rest durch vier teilbar sein.
  2. Ist das Jahr durch 100 teilbar, so handelt es sich um keinen Schaltjahr
  3. außer es ist durch 400 teilbar

Dazu habe ich eine kleine selbstdefinierte PHP-Funktion erstellt, um zu ermitteln, ob das aktuelle Jahr ein Schaltjahr ist. Diese Funktion überprüft das Datum, was übergeben wurde und arbeitet die oben aufgeführten drei Regeln ab. Danach ergibt die Funktion ein true oder false zurück. Wenn das Jahr, was der Funktion übergeben wurde ein Schaltjahr ist, so bekommen wir ein true zurück.

Nun zu der angepriesenen PHP Funktion:

<?php

    
/*

    * Created on 08.01.2010 by Nico Schubert

    */

    
function schaltjahr_ermitteln($jahr) {

        
/**

        * Als erstes formatieren wir mit der Funktion

            sprintf() den Inhalt in der Variable

            $jahr auf eine Zahl die vier Stellen hat.

            Sollte keine Zahl übermittelt werden bei

            dieser Funktion, formatiert die Funktion

            den Inhalt automatisch auf 0000.

        */

        
$jahr sprintf("%04d"$jahr);

        
/**

        * Nun prüfen wir die Zahl in der Variable

            $jahr ob diese 0000 ist mit einer IF

            Anweisung. Wenn dies der Fall ist Beenden

            wir die Funktion umgeben ein false zurück.

        */

        
if ($jahr == '0000') {

            return 
FALSE;

        }

        
/**

        * Jetzt prüfen wir den Inhalt in der Variable

            $jahr, ob dieser durch ist 4 teilbar ist

            und der Inhalt nicht durch 100 teilbar

            ist, außer es ist durch 400 teilbar.

            Danach beenden wir die Funktion und geben

            ein entsprechendes true oder false zurück.

        */

        
if (($jahr 400) == || (($jahr 4) == &&

            (
$jahr 100) != 0)) {

            return 
TRUE;

        } else {

            return 
FALSE;

        }

    }

    
/**

    * Beispiel für dieses Jahr, wir speichern als

        erstes in der Variable $dieses_jahr die

        Jahreszahl. Die Jahreszahl ermitteln wir mit

        der PHP Funktion date().

    */

    
$dieses_jahr date("Y");

    
/**

    * Jetzt geben wir einen Text mit Echo aus und

        prüfen zusätzlich über eine

        Trinitäts-Operator welchen Wert die Funktion

        vom übermittelten Jahr zurück gibt.

    */

    
echo 'Das Jahr '.$dieses_jahr.' ist

        '
.((schaltjahr_ermitteln($dieses_jahr) ==

        
true) ? 'ein Schaltjahr' 'kein

        Schaltjahr'
).'.<br>';

    
/**

    * Nun ermitteln wir das aktuelle Jahr über die

        PHP-Funktion date() und ziehen ein Jahr ab,

        danach speichern wir die Jahreszahl in der

        Variable $letztes_jahr.

    */

    
$letztes_jahr = (date("Y")-1);

    
/**

    * Wie bei den aktuellen Jahr, geben wir wieder mit

        dem Befehl echo unseren Text aus.

    */

    
echo 'Das Jahr '.$letztes_jahr.' ist

        '
.((schaltjahr_ermitteln($letztes_jahr) ==

        
true) ? 'ein Schaltjahr' 'kein

        Schaltjahr'
).'.<br>';

    
/**

    * Das Jahr 2012 ist ein Schaltjahr, also testen

        wir dies mal. Dazu speichern wir die

        Jahreszahl 2012 in der Variable $jahr.

    */

    
$jahr 2012;

    
/**

    * Da unser Jahr ein Schaltjahr ist, werden wir in

        diesem Fall von der selbst definierten

        PHP-Funktion schaltjahr_ermitteln() ein true

        Zurück erhalten, daher wird bei den

        Trinitäts-Operator der true Weg ausgegeben.

    */

    
echo 'Das Jahr '.$jahr.' ist

        '
.((schaltjahr_ermitteln($jahr) == true) ?

        
'ein Schaltjahr' 'kein Schaltjahr').'.<br>';

?>
 

Ausgabe:

Das Jahr 2010 ist kein Schaltjahr.
Das Jahr 2009 ist kein Schaltjahr.
Das Jahr 2012 ist ein Schaltjahr.
 

So nun sollten eigentlich keine Fragen aufkommen, wenn jemand dennoch die ein oder andere Frage zu diesen Thema hat, kann dieser gern unser Forum nutzen. Nachfolgend findet ihr noch eine Liste, der verwendeten PHP-Funktionen in diesem Tutorial.

Die verwendeten PHP-Funktionen:

echo - Mit dieser PHP-Funktion kann man einen Text ausgeben.
IF Anweisung - Hier finden sie eine Erklärung, wie man mit einer IF Anweisung arbeitet.
function() - Erklärung wie man in PHP eine function() erstellt und verwenden kann.
date() - Hier wird erklärt, wie man mit der PHP Funktion date() arbeiten kann.

 

Tags:

 

Artikel hinzufügen bei:
         
Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.