В момента взимам "крайната" дата /оставащото време/ по следния начин:
Взима ми всичко точно. Обаче намерих един лек "бъг". Ако имам 3 месеца и 3 седмици и 1 ден
То тогава резултата ще бъде:
3месеца3седмици1ден
Слагах и и във функцията , но не ми харесва, как стой.
Искам когато остават 3 месеца, 3 седмици и 1 ден резултата, които ще върне функцията да бъде:
3 месеца и 1 ден
или
1 месец и 25 дни /например../
когато свърши единия месец:
3 седмици и 5 дни
Предполагам ми схванахте идеята.
PHP:
<?php
function timeleft($begin,$end) {
$dif = $end-$begin;
$years = intval($dif/(60*60*24*365));
$dif = $dif-($years*(60*60*24*365));
$months = intval($dif/(60*60*24*30));
$dif = $dif-($months*(60*60*24*30));
$weeks = intval($dif/(60*60*24*7));
$dif = $dif-($weeks*(60*60*24*7));
$days = intval($dif/(60*60*24));
$dif = $dif-($days*(60*60*24));
$s = "";
if($years == 1) { $s.= $years."година "; } elseif($years > 1) { $s.= $years."години" ; }
if($months == 1){ $s.= $months."месец "; } elseif($months > 1) { $s.= $months."месеца"; }
if($weeks == 1) { $s.= $weeks."седмица "; } elseif($weeks > 1) { $s.= $weeks."седмици"; }
if($days == 1) { $s.= $days."ден "; } else if($days > 1) { $s.= $days."дни";}
return $s;
}
$now = date("U");
$expire = 123467890; //или колкото е там.
echo timeleft($now, $expire);
?>
Взима ми всичко точно. Обаче намерих един лек "бъг". Ако имам 3 месеца и 3 седмици и 1 ден
То тогава резултата ще бъде:
3месеца3седмици1ден
Слагах и и във функцията , но не ми харесва, как стой.
Искам когато остават 3 месеца, 3 седмици и 1 ден резултата, които ще върне функцията да бъде:
3 месеца и 1 ден
или
1 месец и 25 дни /например../
когато свърши единия месец:
3 седмици и 5 дни
Предполагам ми схванахте идеята.