Teil von  SELFPHP
Letztes Update: 14.09.2007 09:07:01

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Tage eines Monats ermitteln


Systemvoraussetzung

  • Linux
  • Windows
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

dayofmonth.php

Problem

Sie müssen für eine Datumsberechnung die Gesamtmenge der Tage eines Monats ermitteln. Diese kann sehr variieren, da bei Schaltjahren der Februar nur 29 Tage hat und Sie hier den richtigen Wert benötigen.

Lösung

Auch hier gibt uns PHP wieder eine sehr große Hilfestellung. Die Funktion date() liefert mit dem Parameter „t“ die Anzahl der Tage eines Monats. Hierbei wird auch ein Schaltjahr berücksichtigt. Als Rückgabewert erhalten wir hier je nach Monat und Schaltjahr eine Zahl zwischen 28 und 31.

1:
2:
3:
<?php
echo date("t");
?>


Um sich z. B. für ein ganzes Jahr diesen Wert liefern zu lassen, können Sie nachfolgendes Beispiel verwenden. Bitte beachten Sie aber, dass die Funktion mktime() (32, 33) nur Datumswerte zwischen 1970 und 2038 verarbeiten kann.

Da wir die Monatsnamen in deutscher Schreibweise erhalten wollen, müssen wir zuerst überprüfen, auf welchem Betriebssystem unser Beispiel ausgeführt wird. Je nachdem, ob es sich um Windows oder Linux handelt, haben wir einen anderen Ländercode anzugeben. Wir überprüfen also erst das Betriebssystem (24), um dann mittels setlocale() (27) den Ländercode zu setzen.

Die FOR-Schleife (31) durchläuft für jeden Monat die Schleife und speichert dabei den Monatsnamen (32) in deutscher Ausgabe und die Anzahl der Tage des Monats (33), um Sie dann zeilenweise auszugeben (34).

24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:

35:
36:
if (strtoupper(substr(PHP_OS03)) === 'WIN')
    
$localeCode 'ge';
else
    
$localeCode 'de_DE';

setlocale(LC_TIME,$localeCode);

for(
$x=1;$x<=12;$x++){
    
$monat strftime("%B",mktime(000$x1date("Y")));
    
$tage date("t",mktime(000$x1date("Y")));
    echo 
"Der " $monat " " date("Y") . " hat " $tage 
    " Tage.<br>\n"
;
}
?>

Beispiel 2.8: dayofmonth.php

Ausgabe im Browser

Der Januar 2006 hat 31 Tage.
Der Februar 2006 hat 28 Tage.
Der März 2006 hat 31 Tage.
Der April 2006 hat 30 Tage.
Der Mai 2006 hat 31 Tage.
Der Juni 2006 hat 30 Tage.
Der Juli 2006 hat 31 Tage.
Der August 2006 hat 31 Tage.
Der September 2006 hat 30 Tage.
Der Oktober 2006 hat 31 Tage.
Der November 2006 hat 30 Tage.
Der Dezember 2006 hat 31 Tage.


 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt