Alex_DTP 0 Denunciar post Postado Novembro 4, 2008 Pessoal, Tô com uma duvidazinha aqui. Se a data for hoje, imprime hoje - ok Se a data for ontem, imprime ontem - ok Se a data for nos últimos 6 dias, imprime o dia da semana - ok Mas se a data for mais de 6 dias deveria imprimir "Em", mas está imprimindo o dia da semana. Algém pode me dar uma luz? <?php $rs_da_data = $row_rsUltimaNoticia['strNotDateCad']; if (date('d/m/Y') == date( 'd/m/Y', strtotime($rs_da_data))) { echo "Hoje, ".strftime( '%#d/%m/%Y, às %#Hh%M', strtotime($rs_da_data)); } elseif (date('d/m/Y')-1 == date( 'd/m/Y', strtotime($rs_da_data))) { echo "Ontem, ".strftime( '%#d/%m/%Y, às %#Hh%M', strtotime($rs_da_data)); } elseif (date('d/m/Y')-6 <= date( 'd/m/Y', strtotime($rs_da_data))) { echo ucfirst( strftime( '%A, %#d/%m/%Y, às %#Hh%M', strtotime($rs_da_data))); } else { echo "Em, ". strftime( '%#d/%m/%Y', strtotime($rs_da_data)); } ?> Valeu, Alex Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Novembro 4, 2008 Isso imprime exatamente o que? echo "Hoje, ".strftime( '%#d/%m/%Y, às %#Hh%M', strtotime($rs_da_data)); e isso echo "Em, ". strftime( '%#d/%m/%Y', strtotime($rs_da_data)); Compartilhar este post Link para o post Compartilhar em outros sites
Alex_DTP 0 Denunciar post Postado Novembro 5, 2008 Isso imprime exatamente o que? echo "Hoje, ".strftime( '%#d/%m/%Y, às %#Hh%M', strtotime($rs_da_data)); e isso echo "Em, ". strftime( '%#d/%m/%Y', strtotime($rs_da_data)); Se a data do banco for igual a data de hoje, imprime: Hoje, 4/11/2008, às 22h30 Se for igual a um dia atrás, imprime: Ontem, 3/11/2008, às 22h30 Se for nos últimos 6 dias, imprime: Domingo, 2/11/2008, às 17h30 ou Sábado, 1/11/2008, às 17h30 e assim por diante Se for há mais de seis dias deveria imprimir: Em, 28/10/2008 Mas está imprimindo: Terça-feira, 28/10/2008, às 13h40 Deve ser um erro no else, talvez Compartilhar este post Link para o post Compartilhar em outros sites
Alex_DTP 0 Denunciar post Postado Novembro 5, 2008 Resolvi. O código ficou meia boca, mas deu certo. Se alguém quiser dar uma melhorada, tá valendo. <?php $rs_da_data = "11/5/2008"; if (date('d/m/Y') == date( 'd/m/Y', strtotime($rs_da_data))) { echo "Hoje, ".strftime( '%#d/%m/%Y, às %#Hh%M', strtotime($rs_da_data)); } elseif (date('d/m/Y', strtotime("-1 day")) == date( 'd/m/Y', strtotime($rs_da_data))) { echo "Ontem, ".strftime( '%#d/%m/%Y, às %#Hh%M', strtotime($rs_da_data)); } elseif ((date('d/m/Y', strtotime("-2 day")) == date( 'd/m/Y', strtotime($rs_da_data))) or (date('d/m/Y', strtotime("-3 day")) == date( 'd/m/Y', strtotime($rs_da_data))) or (date('d/m/Y', strtotime("-4 day")) == date( 'd/m/Y', strtotime($rs_da_data))) or (date('d/m/Y', strtotime("-5 day")) == date( 'd/m/Y', strtotime($rs_da_data))) or (date('d/m/Y', strtotime("-6 day")) == date( 'd/m/Y', strtotime($rs_da_data)))) { echo ucfirst( strftime( '%A, %#d/%m/%Y, às %#Hh%M', strtotime($rs_da_data))); } else { echo "Em, ".ucfirst( strftime( '%#d/%m/%Y', strtotime($rs_da_data))); } ?> Alex Compartilhar este post Link para o post Compartilhar em outros sites