Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá pessoal, queria saber como transformar a data que vem do banco de dados no formato que eu preciso..
ela já esta quase do jeito que preciso, estou usando strtotime para formatá-la assim:
08-05-2011
mas precisava que ela ficasse assim: 08 mai 2011
alguem sabe um jeito simples fácil?
Essa função vai te ajudar:
<?php
function extensive_date($date)
{
$date = explode('-', $date);
switch ($date[1])
{
case 1: $date[1] = "janeiro"; break;
case 2: $date[1] = "fevereiro"; break;
case 3: $date[1] = "março"; break;
case 4: $date[1] = "abril"; break;
case 5: $date[1] = "maio"; break;
case 6: $date[1] = "junho"; break;
case 7: $date[1] = "julho"; break;
case 8: $date[1] = "agosto"; break;
case 9: $date[1] = "setembro"; break;
case 10: $date[1] = "outubro"; break;
case 11: $date[1] = "novembro"; break;
case 12: $date[1] = "dezembro"; break;
}
return sprintf("%s %s %s", $date[2], $date[1], $date[0]);
}
echo extensive_date('2011-05-08');
?>não tem um jeito mais fácil, com menos código?
Isso é uma função, você pode deixá-la em uma biblioteca de funções.
Logo você usará apenas a chamada da função.
echo extensive_date('2011-05-08');
Não vejo problemas quanto a isso :mellow:
>
tem sim:
http://br2.php.net/manual/pt_BR/function.date-default-timezone-set.php
Se for para mostrar em inglês é a melhor alternativa.
? em portugues também uai..
<?php
setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese");
date_default_timezone_set('America/Sao_Paulo');
$date = '2011-05-08';
echo strftime("%A, %d de %B de %Y", strtotime( $date ));gente, nao complica...
eh só tu usar essas duas funções:
date('d/m/Y H;i',strtotime($variavelQuePegaADataDoBancoDeDados))
ai... onde esta 'd/m/Y H;i' tu coloca o formato que tu quiser, ai tu pesquisa sobe fomatos de data, e aplica cm você kiser...
espero ter ajudado
>
? em portugues também uai..
<?php
setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese");
date_default_timezone_set('America/Sao_Paulo');
$date = '2011-05-08';
echo strftime("%A, %d de %B de %Y", strtotime( $date ));
Perfeito :lol:
Isso me lembrou de algo que li em um livro sobre engenharia de software.
"As restrições impostas por uma dada linguagem de programação ou o conhecimento
incompleto das suas potencialidades pode conduzir a raciocínios (e conseqüentes projetos)
relativamente limitados."
Suas respostas ajudam bastante no aprendizado.
diretamente no banco também é possível, se alguém se interessar!!
mysql_query("SET lc_time_names = 'pt_BR'") or die(mysql_error());//passa para português
//pega a data
$sql = mysql_query("SELECT DATE_FORMAT(CURDATE(), '%d %b %Y') AS data") or die(mysql_error());
echo mysql_result($sql, 'data');//imprime a data
ai galera, obrigada pela ajuda, funcionou certinho.
olha como eu fiz:
$dataVa = strftime('%d %b %Y', strtotime($res[12]));
isso vai mostrar o seguinte formato: 08 mai 2011
valeu amigos
>
olá pessoal, queria saber como transformar a data que vem do banco de dados no formato que eu preciso..
ela já esta quase do jeito que preciso, estou usando strtotime para formatá-la assim:
08-05-2011
mas precisava que ela ficasse assim: 08 mai 2011
alguem sabe um jeito simples fácil?
use a função date()
pesquise mais sobre ela que você consegue fazer o que você quer