Teil von  SELFPHP
  +++ SELFPHP CronJob-Service :: Jetzt auch als Professional-Version verfügbar! +++

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP? In über 120.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

:: Qozido ::

Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.   

 
 
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.


 


Dieses Skript aus dem SELFPHP KOCHBUCH wurde von SELFPHP unter dem "Tarif Mc500" von McAc.net-Webhosting erfolgreich ausgeführt und getestet!

Auf der Übersichtseite unter "McAc.net – Webhosting zu diesem Buch" finden Sie weitere Informationen zu dem Webhostingpaket, dass durch SELFPHP getestet wurde.


 




:: Premium-Partner ::

Webhosting/Serverlösungen


Premium-Partner LeaseWeb Germany GmbH
Premium-Partner MECO Systemhaus GmbH & Co. KG
Premium-Partner PSW GROUP GmbH & Co. KG
Premium-Partner BPI-Systeme
Premium-Partner Pixel X
Premium-Partner
 

:: SELFPHP Sponsoren ::


DM Solutions
Microsoft Deutschland GmbH
Sedo - Bei uns wird PHP großgeschrieben
hostfactory.ch - OptimaNet Schweiz AG
ZEND - The PHP Company
Kaspersky Labs
HighText iBusiness
SELFPHP Sponsoren
 

Qozido


© 2001-2013 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt