NIKESLB 0 Denunciar post Postado Março 13, 2010 Boa noite, Criei um sistema de notícias em PHP, e queria melhorá-lo em certos aspectos. <?php mysql_connect("", "", ""); mysql_select_db("nome da base dados") or die(mysql_error()); // recuperamos as ultimas 10 news $return = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 10'); while ($dados = mysql_fetch_array($return)) { ?> <div class="conteudo"> <div class="dhtmlgoodies_question"> <table border="0" width="100%"> <tr> <td width="8%" align="left" ><img class="border" src="<?php echo $dados['img']; ?>" /></td> <td width="78%" align="center"><span class="texto_titulo_news"><?php echo $dados['titulo']; ?></span></td> <td width="14%" align="right"><em><?php echo date('d/m/Y \à\s\ H\hi', $dados['timestamp']); ?></em></td> </tr> </table> </div> <hr /> <div class="dhtmlgoodies_answer"> <br /> <div> <?php // Tirmaos os antislash e criamos entradas em HTML (<br />) $conteudo = nl2br(stripslashes($dados['conteudo'])); echo $conteudo; echo '<br /><br /><div align="left"><em>Fonte: </em><span class="textcolor">' . $dados['fonte'] . '</span></div> <div align="right"><em>News escrita por: </em><span class="textcolor">' . $dados['user'] . '</span></div>'; ?> <br /> <div ></div> </div> </div> </div><br /> <br /> <?php } // fim do cliclo das news ?> Que dá este resultado: E eu queria por a data em formato português, ou seja, pela vez de ter 12/03/2010 às 20h19 (como está referido na imagem), queria que fosse: Sexta 12 Março, às 20h19, continuando a usar o timestamp da base dados. Além desse formato de data, queria que aparecesse também "Hoje" e "Ontem" na data, ou seja, se eu postar uma notícia hoje, pela vez de aparecer Sabádo 13 Março, às 20h19 aparece Hoje, às 20h19 e passando um dia torna-se Ontem , às 20h19 e passado outro Sabádo 13 Março, às 20h19. Alguém me pode ajudar com isso por favor? :) Compartilhar este post Link para o post Compartilhar em outros sites
lucaswxp 22 Denunciar post Postado Março 13, 2010 Esta função pode ser util: http://php.net/manual/en/function.strftime.php Não esqueça de por antes: setlocale(LC_TIME, 'pt_BR'); Compartilhar este post Link para o post Compartilhar em outros sites
NIKESLB 0 Denunciar post Postado Março 13, 2010 Obrigado resultou, também consegui por "ontem" e "hoje": (na imagem está a ultima data em inglês, mas alojado no servidor ficou em PT ^^) Mas agora outro problema surgiu, pois eu tenho "às" entre o mês e a hora (como referido na imagem), mas nem sempre devia ser "às" porque se eu postar uma news entre 00h00 e 01h59 devia ser "à". Como poderei fazer isso? sabendo que o meu cod da data ficou assim: function date_2($time) { $date_d = date('d'); $date_objecto_d = date('d', $time); $date_m = date('m'); $date_objecto_m = date('m', $time); $date_y = date('Y'); $date_objecto_y = date('Y', $time); if($date_d == $date_objecto_d AND $date_m == $date_objecto_m AND $date_y == $date_objecto_y) { $date = strftime('Hoje às<br />%Hh%M', $time); } elseif($date_d == ($date_objecto_d + 1) AND $date_m == $date_objecto_m AND $date_y == $date_objecto_y) { $date = strftime('Ontem às<br />%Hh%M', $time); } else { setlocale(LC_TIME, 'pt_BR'); $date = strftime(' %a %d %b<br />às %Hh%M', $time); } return $date; } Alguém me pode ajudar com isso? por favor Compartilhar este post Link para o post Compartilhar em outros sites
Nilton Bicalho 0 Denunciar post Postado Março 13, 2010 if(date('H', $time)<2) $as = "às"; else $as = "á"; $date = strftime('Hoje '.$as.'br />%Hh%M', $time); Ah. aconselho deixar o setlocale no inicio do seu script. onde você chama suas funcoes e mysql, da forma que tu fez, ele só é setado se eu chamar essa função, o ideal é deixar acessivel já para todo o sistema. O setlocale, serve tb para outras coisas e correções, como por exemplo R$, US$ Compartilhar este post Link para o post Compartilhar em outros sites
NIKESLB 0 Denunciar post Postado Março 13, 2010 Resultou! Em relação as dúvidas que eu tinha sobre a data, foram todas esclarecidas. Obrigado a todos :D Vou guardar o link do forum http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites