Functie Ani, Zile, Ore dupa numar secunde
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
Pigmy
- Mesaje: 11
Functie Ani, Zile, Ore dupa numar secunde
Am functia:
Cod: Selectaţi tot
function HMS($time)
{
if($time >= 31556926){
$years = floor($time/31556926);
$time = ($time%31556926);
}
if($time >= 86400){
$days = floor($time/86400);
$time = ($time%86400);
}
if($time >= 3600){
$hours = floor($time/3600);
$time = ($time%3600);
}
$HMSTIMP = $years . ':' . $days . ':' . $hours;
return $HMSTIMP;
}
Vreau sa returneze altcumva, dar nu am IDEE...
Adica return $HMSTIMP; sa returneze in felul urmator:
Cod: Selectaţi tot
if($time >= 31556926){
$HMSTIMP = $years . ':' . $days . ':' . $hours;
}
if($time >= 86400){
$HMSTIMP = $days . ':' . $hours;
}
if($time >= 3600){
$HMSTIMP = $hours;
}
De ce vreau asta? Pentru ca vreau sa bag si text:
Exemplu: 1 an, 5 zile si 1 ora
Multumesc de ajutor !
MarPlo
Mesaje: 4343
Incearca exemplu acesta:
Cod: Selectaţi tot
<?php
function HMS($time) {
$years = '';
$days = '';
$hours = '';
if($time >= 31556926){
$years = floor($time/31556926);
$years = $years==1 ? $years.' an ' : $years.' ani ';
$time = ($time%31556926);
}
if($time >= 86400) {
$days = floor($time/86400). ' zile ';
$time = ($time%86400);
}
if($time >= 3600) {
$hours = floor($time/3600). ' ore';
$time = ($time%3600);
}
return $years. $days. $hours;
}
echo HMS(31987689); // 1 an 4 zile 23 ore
echo '<br>'. HMS(81987689); // 2 ani 218 zile 10 ore
?>
Pigmy
Mesaje: 11
Uff...usor a fost. Adica, daca stiam de "$days = floor($time/86400). ' zile ';" ce am ingrosat eu, mergea mai usor.