PHP - Consulta manipulacion de fecha datetime

 
Vista:
sin imagen de perfil

Consulta manipulacion de fecha datetime

Publicado por Andres (3 intervenciones) el 30/06/2016 15:52:38
Consulta

Tengo un codigo para calcular por ejemplo"publicado hace 10 minutos" pelo lo que pasa es que me saca siempre la fecha del primer campo de la base de datos, ai les dejo el codigo y la imagen de lo que pasa, si pueden ayudame desde ya, gracias

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
 
$Anotacao = "SELECT * FROM tblanotacao ORDER BY tblanotacao.idAnotacao ASC";
$Anotacao = mysql_query($Anotacao) or die(mysql_error());
$row_Anotacao = mysql_fetch_assoc($Anotacao);
$totalRows_Anotacao = mysql_num_rows($Anotacao);
 
?>
<?php
	date_default_timezone_set('America/Sao_Paulo');
 
	function tempo_decorrido($dataini, $datafim){
		$sep_datahora = explode(' ', $dataini);
		$sep_data = explode('/', $sep_datahora[0]);
		$sep_hora = explode(':', $sep_datahora[1]);
		$dtini = mktime($sep_hora[0], $sep_hora[1], $sep_hora[2], $sep_data[1], $sep_data[0], $sep_data[2]);
 
		$sep_datahora = explode(' ', $datafim);
		$sep_data = explode('/', $sep_datahora[0]);
		$sep_hora = explode(':', $sep_datahora[1]);
		$dtfim = mktime($sep_hora[0], $sep_hora[1], $sep_hora[2], $sep_data[1], $sep_data[0], $sep_data[2]);
 
		$time = ($dtfim - $dtini);
 
		$days = floor($time/86400);
		$hours = floor(($time - ($days*86400))/3600);
		$mins = floor(($time - ($days*86400)-($hours*3600))/60);
		$secs = floor($time-($days*86400) - ($hours*36000) - ($mins*60));
		$ano = ($days>365) ? floor($days/365) : '';
 
		$retorno = '';
		if ($days > 365)
			$retorno .= $ano .'ano ';
		else
			$retorno .= ($days>0) ? $days. 'dia ' : '';
 
		$retorno .= ($hours>1) ? $hours .' horas e ' : '';
		$retorno .= ($hours==1) ? $hours .' hora e ' : '';
		$retorno .= ($mins>1) ? $mins .' minutos ' : '';
		$retorno .= ($mins==1) ? $mins .' minuto ' : '';
		$retorno .= ($secs>1) ? $secs .' segundos ' : '';
		$retorno .= ($secs==1) ? $secs .' segundo ' : '';
		$retorno .= ($secs==0) ? $secs .' Segundo ' : '';
		return $retorno;
		}
 
		$dataAtual = date('Y-m-d H:i:s');
		$dataInicio = $row_Anotacao['strData'];
 
?>
 
<?php echo tempo_decorrido($dataInicio, $dataAtual) ?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder