Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá, no banco de dados tem la a, data, titulo, conteudo mostrando assim a data 2012-09-06 18:45:40
entao foi postado ontem esse arquivo, queria que mostrase em um codigo php assim Adicionado a 1 dia atrás e se foi postado semana passada queria que mostrase Postado semana passada e assim por diante, alguem me ajuda?
Não sei explicar muito bem:S
>
Olá,
Você pode usar strtotime() para contar os dias.
$contar = strtotime(date("Y-m-d")) - strtotime(date("2012-09-01"));
$dias = floor($contar/86400);
echo $dias; // retorna 6
Até que contou de boa, mais queria saber se tem como colocar tipo adicionado a 1 dia, adicionado a 1 mês, adicionado a 1 semana.
e o $contar/86400 esse 86400 serve para que?
>
Até que contou de boa, mais queria saber se tem como colocar tipo adicionado a 1 dia, adicionado a 1 mês, adicionado a 1 semana.
e o $contar/86400 esse 86400 serve para que?
$contar, Retorna um timestamp, já com subtração -.
/, Representa divisão.
86400, Representa 86400 segundos, 1 dia.
Hum entendi, mais e se o arquivo tiver sido adicionado a 1 semana, ou 1 mes atras nao tem como mostrar adicionado a 1 semana, adicionado a 1 mes nao?
Olá,
seguindo a ideia do amigo @espiculo:
$contar = strtotime(date("Y-m-d")) - strtotime(date("2012-09-01"));
$dias = floor($contar/86400);
//echo $dias; // retorna 6
if($dias > 30){
echo "Um mês atras";
}else{
if($dias > (30*12)){
echo "Um ano atras";
}
}function tempoDecorrido($tempo){
$contar = strtotime(date("Y-m-d")) - strtotime(date($tempo));
$dias = floor($contar/86400);
switch($dias){
case '1' : return 'ontem'; break;
case '7' : return 'uma semana atras'; break;
case '30' : return 'um mês atras'; break;
case '360' : return 'um ano atras'; break;
default : return 'dias atras';
}}
//aplicação
tempoDecorrido('2012-09-01');
>
Olá,
seguindo a ideia do amigo @espiculo:
$contar = strtotime(date("Y-m-d")) - strtotime(date("2012-09-01"));
$dias = floor($contar/86400);
//echo $dias; // retorna 6
if($dias > 30){
echo "Um mês atras";
}else{
if($dias > (30*12)){
echo "Um ano atras";
}
}
Esse não funcionou direito, se foi adicionado 2011-09-01 fica
373Um mês atras
>
function tempoDecorrido($tempo){
$contar = strtotime(date("Y-m-d")) - strtotime(date($tempo));
$dias = floor($contar/86400);
switch($dias){
case '1' : return 'ontem'; break;
case '7' : return 'uma semana atras'; break;
case '30' : return 'um mês atras'; break;
case '360' : return 'um ano atras'; break;
default : return 'dias atras';
}}
//aplicação
tempoDecorrido('2012-09-01');
Não sei se estou adaptando errado, ou se é o codigo mais aqui nao pegou
Nessa função do supertelnet tem uns errinho. Corrigi e se for utilizar return, coloque echo ou print para a função.
function contaTempo($data){
$contar = strtotime(date("Y-m-d")) - strtotime(date($data));
$dias = floor($contar/86400);
switch($dias){
case "0": echo "Hoje"; break;
case "1": echo "Ontem"; break;
case "7": echo "Uma semana atrás"; break;
case "30": echo "Um mês atrás"; break;
case "365": echo "Um ano atrás"; break;
default: echo $dias." dias atrás";
}
}
contaTempo('2011-09-09');Funcionou!
Mais tipo se foi adicionado a 8 dias atrás em ves de aparecer 1 semana aparece 8 dias
Tem como fazer para aparecer 1 semana atrás ou 1 semana e 1 dia atrás?
Conta 1 dia atrás, 2 dias atrás, 3 dias atrás, 4 dias atrás, 5 dias atrás, 6 dias atrás
ai quando chegar semana fica 1 semana depois que passar mais 7 dias fica 2 semana, e assim por diante como fazer?
abandonaram minha duvida? ^^
Olá,
Você pode usar strtotime() para contar os dias.