2016-03-21 3 views
0

Я работаю над функцией, чтобы узнать, как пожилой человек к данному дню рождения и сколько времени потребуется на другой день рождения, но не может найти способ, как получить эти дни между ,PHP - дни между сегодняшним днем ​​и днем ​​рождения

Существует мой код

<form action="Vek.php" method="GET"> 
<input type="text" name="prom1" /> 
<input type="text" name="prom2" /> 
<input type="text" name="prom3" /> 
<input type="submit" /> 
</form> 
<?php 
if (isset($_GET["prom1"])) { 
$prom1 = $_GET["prom1"]; 
}else{ 
    $prom1 = '1'; 
} 

if (isset($_GET["prom2"])) { 
$prom2 = $_GET["prom2"]; 
}else{ 
    $prom2 = '1'; 
} 

if (isset($_GET["prom3"])) { 
    $prom3 = $_GET["prom3"]; 
}else{ 
    $prom3 = '2000'; 
} 
     echo "Zadal jste datum: ".$prom1.".".$prom2.".".$prom3; 
echo "<br>"; 
$datum = Date("j/m/Y", Time()); //today's date 
echo "<br>"; 
echo('Dnešní datum: '.$datum); 

echo "<br>"; 
$test = mktime(0,0,0,$prom2, $prom1, $prom3); 
$narozeniny = date("j/m/Y", $test); //day of birthday 
echo "<br>"; 
echo ('Narozeniny: '.$narozeniny); 

function zjistiVek($prom1,$prom2,$prom3) //function to find how old are you 
{ 
    $vek = time() - mktime(0, 0, 0, $prom2, $prom1, $prom3); 
    $vek = $vek/(60 * 60 * 24 * 365); 
    $vek = floor($vek); 
    return $vek; 
} 
echo "<br>"; 
echo('Momentálně je Vám: '.zjistiVek($prom1,$prom2, $prom3).' let'); 
+0

Просьба уточнить, что ваш вопрос и конкретный (меньше) кусок кода, который не работает. –

ответ

2

Я предлагаю, используя DateTime классы здесь, чтобы легко получить диф и отформатировать его же вы хотите. Пример:

$dt1 = new DateTime('2015-01-01'); // an arbitrary time 
$dt2 = new DateTime(); // right now's time 
$diff = $dt1->diff($dt2); // a DateInterval object 
echo $diff->format("%R%a"); // print the difference, in days 

Diff функция: http://php.net/manual/en/datetime.diff.php

Формат функции: http://php.net/manual/en/datetime.format.php

Смежные вопросы