PHP: преобразуване от минути във часове+минути

vankata

Registered
примерно генерирам произволно число 79 което трябва да разпределя така че да пише

79 минути = 1 час и 19 минути

и така да показва и с друго число?
нещо като функция да ми дадете :) :oops:
 
Ето ти нещо от мене
function calculate($secs) {
$time = array("hrs" => 0,"mns" => 0,"scs" => $secs);
if (($time['scs'] / 3600) > 0) { $time['hrs'] = floor($secs/3600); $time['scs'] = ($secs - ($time['hrs'] * 3600)); }
if (($time['scs'] / 60) > 0) { $time['mns'] = floor($time['scs']/60); $time['scs'] = ($time['scs'] - ($time['mns'] * 60)); }
return $time;
}

задаваш времето в секунди и функцията ще ти го пресметне.
Може да я използваш така
print_r(calculate($secs));
 
Едит: така е ъпдейтнато дори и да е под един час ще го покаже като 0 часа и няколко минути (колкото е).
<?php
$minuti=59;
if($minuti>=60){
$chas=floor($minuti/60);
$minutki=$minuti-60;
}
else {
$chas=0;
$minutki=$minuti;
}
echo "$chas час и $minutki минути";
?>
 
Май няма смисъл, но ето го и моят вариант

Код:
<?php
$number = rand(60, 1200);
$num = 0;

while($number > 60)
{
	$number = $number - 60;
	$num++;
}

if($num == 1){
	$hour = 'час';
} else {
	$hour = 'часа';
}

if($number == 1){
	$min = 'минута';
} else {
	$min = 'минути';
}
echo $num.' '.$hour.' и '.$number.' '.$min;

?>
 
Replace каза:
Ето ти нещо от мене
function calculate($secs) {
$time = array("hrs" => 0,"mns" => 0,"scs" => $secs);
if (($time['scs'] / 3600) > 0) { $time['hrs'] = floor($secs/3600); $time['scs'] = ($secs - ($time['hrs'] * 3600)); }
if (($time['scs'] / 60) > 0) { $time['mns'] = floor($time['scs']/60); $time['scs'] = ($time['scs'] - ($time['mns'] * 60)); }
return $time;
}

задаваш времето в секунди и функцията ще ти го пресметне.
Може да я използваш така
print_r(calculate($secs));

да това ми влиза в полза напълно а как може да стане ако добавим
(години, дни)

Имам следния проблем

Разстение което се отглежда за 4 часа примерно
и процента на който е сега отраснало

трабва да извадя процента(%) от 4 часа(14 400) секунди и да върна на страницата
- кога е засадено разстението
- кога ще покълне разстението (до 100%)

дни:час:минути:секунди
взимайки се впредвид локалните часови настройки на сървъра
 
4 часа са (4*60) = 240мин, 240*60 = 14400секунди == 100%
Ти си на 2 часа, 2*60 = 120мин, 120*60 = 7200сек = х
$x = ((7200*100)/14400)."%" , което ще ти върне 50%

А иначе ето и леко променена функцията, да покава и дните
function calculate($secs) {
$time = array("day" => 0,"hrs" => 0,"mns" => 0,"scs" => $secs);
if (($time['scs'] / 86400) > 0) { $time['day'] = floor($time['scs']/86400); $time['scs'] = ($time['scs'] - ($time['day'] * 86400)); }
if (($time['scs'] / 3600) > 0) { $time['hrs'] = floor($time['scs']/3600); $time['scs'] = ($time['scs'] - ($time['hrs'] * 3600)); }
if (($time['scs'] / 60) > 0) { $time['mns'] = floor($time['scs']/60); $time['scs'] = ($time['scs'] - ($time['mns'] * 60)); }
return $time;
}
 

Back
Горе