
function time($value) {
$hh = floor($value/3600);
$min = floor(($value-$hh*3600)/60);
$sec = $value-$hh*3600-$min*60;
$l = sprintf('%02d',$hh).':'.sprintf('%02d',$min).':'.sprintf('%02d',$sec);
return $l;
}
еще полезная функция
/**
* Returns the "age" in minutes / hours / days / years of the number of $seconds inputted.
*
* @param integer $seconds could be the difference of a certain timestamp and time()
* @param string $labels should be something like ' min| hrs| days| yrs'.
* @return string Formatted time
*/
function calcAge($seconds,$labels = 'min|hrs|days|yrs') {
$labelArr = explode('|',$labels);
$prefix='';
if ($seconds<0) {$prefix='-'; $seconds=abs($seconds);}
if ($seconds<3600) {
$seconds = round ($seconds/60).' '.trim($labelArr[0]);
} elseif ($seconds<24*3600) {
$seconds = round ($seconds/3600).' '.trim($labelArr[1]);
} elseif ($seconds<365*24*3600) {
$seconds = round ($seconds/(24*3600)).' '.trim($labelArr[2]);
} else {
$seconds = round ($seconds/(365*24*3600)).' '.trim($labelArr[3]);
}
return $prefix.$seconds;
}
когда понадобиться такая точность - тогда и поговорим, неубогий dimagolovАвтор оригинала: dimagolov
ею можно оперировать только в терминах секунд-минут-часов, но не дней. летнее/зимнее время, это первый пример когда нельзя делать дальнейшую экстраполяцию в дни. из этого следует, что в разнице timestamp-ов нельзя хранить промежутки повторяющихся событий, если таковые должны происходить с кратностью в дни. даже если кратность событий несколько часов (пусть которым кратны 24, т.е. 1, 2, 3, 4, 6, 8, 12), то время события в сутках будет плавать из-за летнего-зимнего времени, а потом и вовсе собьется из-за добавочных секунд.
Зануда!!!Автор оригинала: zerkms
Денч
gmdate('H:i:s', $time);
ы?
