Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Davicamarinha

[Resolvido] Diferença de tempo

Recommended Posts

Eu fiz um scriptzinho aonde eu quero que ele me mostra a diferença entre um tempo e outro, tipo algo assim:

 

12:00 - 11:30 = 00:30

 

O script segue abaixo

 

$atual = $_SERVER["REQUEST_TIME"];
$entrada = "1228751680";

$result = $entrada - $atual;

print "Entrada:" . date ("H-i-s", $entrada) . "<br>";
print "Atual:" . date ("H-i-s", $atual) . "<br>";

echo date("H-i-s",$result);

Ele nao esta funfando, me mostra uma hora nada a ver.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Continuo fazendo testes, consegui algo perto do que queria, mas ainda nao esta o ideial

 

O resultado sai assim

Entrada:16:04:05
Atual:16:11:05
21:07:00

Os minutos e segundos estao corretos, mas a hora esta errada, era para ser 00. Alguem sabe como ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php
//Author Binu.v.Pillai

function diffTime($bigTime,$smallTime)
{
//input format hh:mm:ss

		list($h1,$m1,$s1)=split(":",$bigTime);
		list($h2,$m2,$s2)=split(":",$smallTime);
		
		$second1=$s1+($h1*3600)+($m1*60);//converting it into seconds
		$second2=$s2+($h2*3600)+($m2*60);
		
		
		if ($second1==$second2)
		{
			$resultTime="00:00:00";
			return $resultTime;
			exit();
		}
		
		
		
		if ($second1<$second2) // 
		{
			$second1=$second1+(24*60*60);//adding 24 hours to it.
		}
		
		
		
		$second3=$second1-$second2;
		
		//print $second3;
		if ($second3==0)
		{
			$h3=0;
		}
		else
		{
			$h3=floor($second3/3600);//find total hours
		}
			
		$remSecond=$second3-($h3*3600);//get remaining seconds
		if ($remSecond==0)
		{
			$m3=0;
		}
		else
		{
			$m3=floor($remSecond/60);// for finding remaining  minutes
		}
			
		$s3=$remSecond-(60*$m3);
		
		if($h3==0)//formating result.
		{
			$h3="00";
		}
		if($m3==0)
		{
			$m3="00";
		}
		if($s3==0)
		{
			$s3="00";
		}
			
		$resultTime="$h3:$m3:$s3";
		
		
		return $resultTime;

}

$atual   = $_SERVER['REQUEST_TIME'];
$entrada = '1228751680';

echo diffTime( date( 'H:i:s', $atual ), date( 'H:i:s', $entrada ) );

?>

referência: http://www.php.net/manual/pt_BR/function.time.php#82260

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver da seguinte forma

 

$hora_atual = date ("H");
$minuto_atual = date ("i");
$segundo_atual = date ("s");

$hora_entrada = date("H", "08");
$minuto_entrada = date("i","00");
$segundo_entrada = date("s", "00");

$hora_diferenca = $hora_entrada - $hora_atual;
$minuto_diferenca = $minuto_atual - $minuto_entrada;
$segundo_diferenca = $segundo_atual - $segundo_entrada;

echo $hora_atual . "-" . $minuto_atual . "-" . $segundo_atual . "<br>";
echo $hora_diferenca . "-" . $minuto_diferenca . "-" . $segundo_diferenca;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.