• Ruine in Bautzen
    Ruine in Bautzen

strtotime ausnutzen

Eine einfache Funktion zum Bilden von Datumszeiträumen. Dies kann genutzt werden wenn eine Zusammenfassung mehrerer Tage  zum zugehörigen Monat  notwendig ist.



$germanDates = array('10.10.2009','25.12.2009',
'01.02.2009','11.10.2009',
'12.10.2009','13.10.2009',
'11.10.2010','01.03.2010',
'28.02.2010');

$DateArray = array();
$rangeArray=array();
foreach($germanDates as $Index=>$Date)
{
// create timestamp from german date [ easy :-) ]
$DateArray[$Date]= strtotime($Date);

}
// sort timestamps
asort($DateArray);
// read the array and create ranges
$RangeIndex = 0;
$Counter = 0;
$ReadDateStamp = 0;
foreach($DateArray as $Index=>$Datum)
{
if($Counter<=0)
{
// init first value and create range array
$rangeArray[$RangeIndex][$Index]=$Datum;

}else{
// compare new date mit Readstamp
$Diff = $Datum - $ReadDateStamp;
if($Diff != 86400)
{
$RangeIndex++;
}
$rangeArray[$RangeIndex][$Index]=$Datum;
}
$ReadDateStamp = $Datum;
$Counter++;
}
print_r( $rangeArray );

  P.S. 86400 = 1 Tag