Alguem pode me ajuda em php

04/07/2016

Boa noite galera, estou procurando um soluçao haha, e ate agora nao foi bem sucedida , por isso resolvi posta este post aqui no forum pq aqui onde ja aprender diversas coisa sobre progrmação, emfim.

estou desenvolvendo um site e nesse site tera posta de noticias e em cada noticias tera :

titulo,
texto da noticia,
autor,
data,
hora etc..

estou com o seguinte problema, quero mostra pro usuario o tempo que a postagem foi feita.
exemplo:
se minha noticai foi postada as 20:42:33 quero pega essa hora e converta em minutos, se o usuario vusualizou ela as 20:50 ja temos 8 min que a noticai foi postada.
alguem ai pode me da uma soluçao de como posso fazer isso?

Edson Silva

Melhor resposta

05/07/2016

Não tem segredo, se você estiver gravando no banco de dados a data e a hora que foi publicado o post, é só subtrair da data e hora que o usuário estiver acessando seu site!

Uma pesquisa rápida no Google, achei a função abaixo nesse blog http://blog.clares.com.br/calcular-diferenca-entre-2-datas-com-php/

//Calcula '2011-05-02 08:00:00' e '2011-05-01 09:55:00'
function diffDate($d1, $d2, $type='', $sep='-'){

	if(strstr($d1,':')){
		$dh1 = explode(' ', $d1);
		$d1 = explode($sep, $dh1[0]);
		$d1_h = explode(':', $dh1[1]);
	} else{
		$d1 = explode($sep, $d1);
		$d1_h[0] = $d1_h[1] = $d1_h[2]= 0;
	}

	if(strstr($d2,':')){
		$dh2 = explode(' ', $d2);
		$d2 = explode($sep, $dh2[0]);
		$d2_h = explode(':', $dh2[1]);
	} else{
		$d2 = explode($sep, $d2);
		$d2_h[0] = $d2_h[1] = $d2_h[2]= 0;
	}

	switch ($type)
	{
		case 'A':
			$X = 31104000;
			break;
		case 'M':
			$X = 2592000;
			break;
		case 'D':
			$X = 86400;
			break;
		case 'H':
			$X = 3600;
			break;
		case 'MI':
			$X = 60;
			break;
		default:
			$X = 1;
	}
	return (((mktime($d1_h[0],$d1_h[1],$d1_h[2],$d1[1],$d1[2],$d1[0])-mktime($d2_h[0],$d2_h[1],$d2_h[2],$d2[1],$d2[2],$d2[0]))/$X));
}

$d1 = '2011-05-02 08:00:00';
$d2 = '2011-05-01 09:55:00';
echo diffDate($d1, $d2,'MH');

William (devwilliam)

Responder Citar