Kalenderfunktion in PHP
Mittwoch, 29. Oktober 2003 17:21
hier mal ein paar nützlicheFunktionen für einenKalender
ein Jahr auf Schaltjahr kontrollieren:
function isLeapYear(
$iYear
){
$bIsLeapYear == 0;
if($iYear % 4 == 0)
{
$bIsLeapYear = 1;
if($iYear % 100 == 0)
{
$bIsLeapYear = 0;
if($iYear % 400 == 0)
$bIsLeapYear = 1;
}
}
return $bIsLeapYear;
}//isLeapYear()...
ein Datum auf Wochenendtag kontrollieren:
function bIsWeekendDay (
$iDay = 0,
$iMonth = 0,
$iYear = 0
){
$tmp = (int) date ( "w", mktime ( 0,0,0,$iMonth,$iDay,$iYear ) );
if ( $tmp == 0 || $tmp == 6 ) return true;
else return false;
}//bIsWeekendDay()...
die Kalenderwoche berechnen von einem Datum:
function getWeekNumber (
$iDay = 0,
$iMonth = 0,
$iYear = 0
){
$iWeekNumber = (int) date ( "W", mktime ( 0,0,0,$iMonth,$iDay,$iYear ) );
return $iWeekNumber;
}//getWeekNumber()...
den ersten und letzten Tag einer Woche berechnen:
function getWeekDays(
$iWeekNum
){
// get start and end - 4.1. guaranteed in 1. calendarweek
$iKW1 = mktime(0,0,0,1,4,$this->_iYear);
if(isLeapYear())
$iFirstWeekDay = $iKW1 + 86400 * (7*($iWeekNum - 2)- date('w', $iKW1)+1);
else
$iFirstWeekDay = $iKW1 + 86400 * (7*($iWeekNum - 1)- date('w', $iKW1)+1);
$iLastWeekDay = $iFirstWeekDay + 86400*6; $iDateStart = date('Y-m-d', $iFirstWeekDay);
$iDateEnd = date('Y-m-d', $iLastWeekDay);
return array($iDateStart, $iDateEnd);
}//setWeekFilter()...
das Datum des 1.Advent berechnen:
function getFirstAdvent(
$iYear
){
$iFirstAdvent = mktime(0, 0, 0, 11, 26, $iYear);
while (0 != date('w', $iFirstAdvent))
$iFirstAdvent += 86400;
return $iFirstAdvent;
}//getFirstAdvent()...
den ersten und letzten Tag einer Woche berechnen:
function getWeekDays(
$iWeekNum
){
// get start and end - 4.1. guaranteed in 1. calendarweek
$iKW1 = mktime(0,0,0,1,4,$this->_iYear);
if(isLeapYear())
$iFirstWeekDay = $iKW1 + 86400 * (7*($iWeekNum - 2)- date('w', $iKW1)+1);
else
$iFirstWeekDay = $iKW1 + 86400 * (7*($iWeekNum - 1)- date('w', $iKW1)+1);
$iLastWeekDay = $iFirstWeekDay + 86400*6; $iDateStart = date('Y-m-d', $iFirstWeekDay);
$iDateEnd = date('Y-m-d', $iLastWeekDay);
return array($iDateStart, $iDateEnd);
}//setWeekFilter()...
das Datum des 1.Advent berechnen:
function getFirstAdvent(
$iYear
){
$iFirstAdvent = mktime(0, 0, 0, 11, 26, $iYear);
while (0 != date('w', $iFirstAdvent))
$iFirstAdvent += 86400;
return $iFirstAdvent;
}//getFirstAdvent()...