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
 
Script Seite

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
 ICQ Generator
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog Verzeichnis

Partner
Sprüche Treff

Goneo.de
Bei diesen Anbieter bekommt man Webspace, Domains,...
http://www.Goneo.de
speicherzentrum.d...
Bei den Anbieter bekommt man Webspace, Domains und...
http://www.speicherzentrum.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:  7771
Sprache: Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
 

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


 

Verlink uns, wenn Dir das Tutorial gefallen hat:
Artikel hinzufügen bei: