last day (15 days later) » 

4:49 PM
1
A: Converter data MySQL (YYYY/mm/dd h:m:s) para dd/mm/aaaa

QMechanic73Um resultado próximo que você pode ter é: $data = "2015-02-09 15:55:30"; $datetime = new DateTime(); $datetime->createFromFormat("m F Y", $data); echo $datetime->format("m F Y");

 
No exemplo acima dá certo, qdo acrescenta a variável não funciona. Veja o conteúdo da $data "string '09/02/2015 15:55:30' (length=19)".
Quase, só falta retornar em pt-BR, veja como está: "02 Feb 2015".
Quando informa a variável "$data = $noticia->data_cadastro;", o formato fica "02 setembro 2015", o que pode ser?
 
@AdrianoAquino Faça como está exemplo. Se não funcionar comente aqui o que tem na variável $noticia->data_cadastro.
 
Desse jeito dá certo: "$data = "2015-02-09 15:55:30";". Mas a variável $data recebe o resultado do método: "$data = $noticia->data_cadastro;" no seguinte formato (var_dump): "string '09/02/2015 15:55:30' (length=19)" e então fica no formato não desejado "02 setembro 2015".
 
@AdrianoAquino Acho que sei o problema, está no formato Y-m-d H:i:s mude para d/m/y H:i:s exemplo.
 
Retorna "02 February 2015", me ajude a converter para pt_BR, não estou conseguindo...
 
4:49 PM
@AdrianoAquino Está retornando certo? se sim ótimo. Para converter faça como você estava fazendo com o setlocale e date_default_timezone_set. =D
 
dá uma olhada no código
não retorna no formato que preciso
 
Desse jeito retorna: "02 February 2015", estranho neh
 
Mas não é isso que você quer retornar?
Para mudar o idioma e time zone faça como você estava fazendo antes.
Com setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese"); e date_default_timezone_set("America/Sao_Paulo");
 
Pior que está desse jeito e retorna no formado Inglês, e não em Português... não sei o que pode ser...
 
4:57 PM
Acho que você está usando o setlocale e date_default_time.... depois.. Tente assim: ideone.com/RyMW7T
Altere a variável $data para $data = $noticia->data_cadastro;.
Ficando assim o código:
setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese");
date_default_timezone_set("America/Sao_Paulo");

$data = $noticia->data_cadastro;

$datetime = new DateTime();
$datetime->createFromFormat("d/m/y H:i:s", $data);
echo $datetime->format("m F Y");
 
Continua "02 February 2015", doido neh...
 
Como você está fazendo?
No IDEONE o locale e time zone não vai mudar mesmo. =/
 
Estou com o PhpED 8...
 
Qual a saída do comando locale -a na sua máquina?
Você tem o pt_BR instalado na máquina?
O problema agora não é com a conversão, mas sim com o locale.
 
Desculpe a ignorância, pois sou novo na área... como executo o comando locale -a?
 
5:10 PM
Usa Linux certo? abra um terminal e execute esse comando.
 
Windows 7
formato da data está dd/MM/aaaa
 
Qual o retorno de echo date_default_timezone_get(); ?
 
Antes do string 'Europe/Paris' (length=12)
antes do date_default_timezone_set
depois, date_default_timezone_set("America/Sao_Paulo"); fica:
string 'America/Sao_Paulo' (length=17)
joguei no começo da página e não funcionou, mas pelo menos não retorna mais: string 'Europe/Paris' (length=12)
esses códigos q joguei:
setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese");
date_default_timezone_set("America/Sao_Paulo");
fica confusa minhas explicações?
 
5:31 PM
Um pouco, esse já é um outro problema que difere da pergunta.. Mas estou tentando ver se acho algo sobre isso.
 
Então, acho que tento explicar demais e acabo complicando... foi mal.. -_-
 
No seu pc você usa o time zone do Brasil correto?
 
‎segunda-feira, ‎23‎ de ‎fevereiro‎ de ‎2015, ‏‎14:38
(UCT-03:00) Brasília
isto?
 
Isso sim, estou revendo o código. Talvez tenha algo de errado com ele.
 
5:58 PM
Quase lá..
 
fica tranquilo, só não atrapalhe seu trabalho!
 
6:15 PM
Consegui aqui..
Faça assim:
setlocale(LC_ALL, "pt_BR");
date_default_timezone_set('America/Sao_Paulo');

$olddata = '09/02/2015 15:55:30';
$data = str_replace('/', '-', $olddata);

echo strftime("%m de %B de %Y", strtotime($data));
Deixe a variável $olddata assim: $olddata = $noticia->data_cadastro;
Atualizei a resposta lá também.
 
Eh, eu devo estar com alguma configuração doida aqui na máquina... não deu certo... -_-
Você deve entender muito de PHP neh?!
 
Não....
 
rsrsrs.. modesto
 
Mas aqui funcionou certo.. Veja tutorialspoint.com/…
:)
 
vi mesmo, tá blz, só na minha maquina que tá com BO
 
6:22 PM
Não sei mais como posso ajudar..
 
tranquilo, vlw msm pela ajuda
 
=D se quiser abrir uma nova pergunta e ver se alguém sabe como resolver isso, sinta-se a vontade.
E se pudesse marcar alguma das respostas lá, agradeceríamos. :)
 
vou mandar benzer meu pc... rsrsrs
vlw
 
7:13 PM
@AdrianoAquino Não tem como testar em outra máquina? Para ver se ocorre o mesmo.
 

last day (15 days later) »