I would not answer because I'm on my cell phone. But I decided to respond.
You can use the class DateTime
(maid recommended), or time()
:
<?php
$inicio = time(); #pega o tempo atual em segundos (timestamp)
$fim = $inicio + (15 * 60); #acrescenta 15 minutos ao tempo anterior
$x = $fim - $inicio; #pega quanto falta em segundos
$x = $x / 60; # transforma em minutos
echo "Faltam {$x} minutos";
#pode comparar os valores, por exemplo:
echo ($fim < time()) ? "Foi liberado" : "Ainda nao esta liberado";
#olho se o numero de segundos do fim é menor que o tempo atual, se sim quer dizer que o tempo em fim ja se tornou passado
Of course, the example is always going to say that 15 minutes to go, so the start and end variables should normally be stored in cookies or session.
It should work, not tested, it was in the mind kk
Edited
Now, with the more or less clear question, it solves:
<?php
date_default_timezone_set('America/Sao_Paulo');
$fim = '16:30:00';
$inicio = date("H:i:s", time());
echo "inicio: {$inicio}<br>";
echo "fim: {$fim}<br>";
$arrayFim = explode(":", $fim);
$arrayInicio = explode(":", $inicio);
$horas = $arrayFim[0] - $arrayInicio[0];
$minutos = $arrayFim[1] - $arrayInicio[1];
$segundos = $arrayFim[2] - $arrayInicio[2];
if($segundos < 0)
{
if($minutos > 0)
{
$minutos --;
$segundos = 60 - $arrayInicio[2];
}
}
echo "<br>horas: {$horas}<br>";
echo "minutos: {$minutos}<br>";
echo "segundos: {$segundos}<br>";
if($horas <= 0 and $minutos <= 0 and $segundos <= 0)
echo "<br>Expirado";
else
echo "<br>Nao expirou";
Next, clearly state the doubt:)