
Consulta manipulacion de fecha datetime
Publicado por Andres (3 intervenciones) el 30/06/2016 15:52:38
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


0