Mailinglisten-Archive |
Hallo,
/**
* Berechnet Anzahl der Tage zwischen 2 Datumswerten
*
*/
function count_days($start, $end)
{
sm('count_days');
if( $start != '0000-00-00' and $end != '0000-00-00' )
{
$timestamp_start = strtotime($start);
$timestamp_end = strtotime($end);
if( $timestamp_start >= $timestamp_end ) return 0;
$start_year = date("Y",$timestamp_start);
$end_year = date("Y", $timestamp_end);
$num_days_start = date("z",strtotime($start));
$num_days_end = date("z", strtotime($end));
$num_days = 0;
$i = 0;
if( $end_year > $start_year )
{
while( $i < ( $end_year - $start_year ) )
{
$num_days = $num_days + date("z", strtotime(($start_year + $i)."-12-31"));
$i++;
}
}
cm('count_days');
return ( $num_days_end + $num_days ) - $num_days_start;
}
else
{
cm('count_days');
return 0;
}
}
/**
* Berechnet Anzahl der Monate zwischen 2 Datumswerten
*
*/
function count_months($in_dateLow, $in_dateHigh)
{
sm('count_months');
if( $start != '0000-00-00' and $end != '0000-00-00' )
{
$in_dateLow = strtotime($in_dateLow);
$in_dateHigh = strtotime($in_dateHigh);
if ($in_dateLow > $in_dateHigh) {
$tmp = $in_dateLow;
$in_dateLow = $in_dateHigh;
$in_dateHigh = $tmp;
}
$dateLow = $in_dateLow;
$dateHigh = $in_dateHigh;
$periodDiff = 0;
while ($dateLow < $dateHigh) {
$periodDiff++;
$dateLow = strtotime('+1 month',$dateLow);
}
cm('count_months');
return $periodDiff-1;
}
else
{
cm('count_months');
return 0;
}
}
mfg
Michel Zobel
Software Entwicklung / Softwaredevelopement
health network
php::bar PHP Wiki - Listenarchive