function duration ($int,$R=0,$lang='de') {
# Math. SI-Einheiten
$devision = array(
31536000, // Jahr 60*60*24*30*12 Sekunden
2592000, // Monat 60*60*24*30 Sekunden
604800, // Woche 60*60*24*7
86400, // Tag 60*60*24
3600, // Stunde 60*60
60, // Minute 1*60
1); // Sekunde 1
$nint = 0;
# SI-Einheiten in Sprachen
$unit['de'] = array(array('Jahre','Jahr'),array('Monate','Monat'),
array('Wochen','Woche'),array('Tage','Tag'),
array('Stunden','Stunde'),array('Minuten','Minute'),
array('Sekunden','Sekunde')
);
$unit['en'] = array(array('years','year'),array('months','month'),
array('weeks','weeks'),array('days','day'),
array('hours','hour'),array('minutes','minute'),
array('seconds','second')
);
# Größte passende Einheit wird gesucht
for($i = 0; $i <= (count($devision)-1); $i++) {
if(($int / $devision[$i]) >= 1) {
$nint = round(($int / $devision[$i]),$R);
if($nint > 1 AND isset($unit[$lang])) {
$return = $nint . ' ' . $unit[$lang][$i][0];
} elseif($nint == 1 AND isset($unit[$lang])) {
$return = $nint . ' ' . $unit[$lang][$i][1];
}
break;
}
}
return $return;
}
echo duration (2222222,2); #3.67 Wochen