last day (16 days later) » 

12:23 PM
1
A: Colocar data da postagem em portugues usando [processwire]

Marcelo de AndradeDe acordo com esta discussão, você pode fazer da seguinte forma definindo a linguagem no seu config.php: $config->timezone = 'America/Sao_Paulo'; setlocale(LC_ALL, 'pt_BR'); E exibir a data da seguinte forma: echo strftime("%A, %d de %B de %Y", strtotime( $page->created)); Caso não possa al...

 
Defenir a Linguagem afectaria todo o template e eu pertendo que que apenas traduza quando primo o botão que criei "PT" então eu fiz uma variável que substituiria consoante o botão que foi primido
´$config->timezone = 'America/Sao_Paulo'; setlocale(LC_ALL, 'pt_BR'); echo strftime("%A, %d de %B de %Y", strtotime( $page->created));´ apos colocar o codigo o que foi exibido foi antes September 2, 2015 at 10:31 AM depois Thursday, 01 de January de 1970
 
Formatei a resposta com mais uma alternativa para que tu possas utilizar sem alterar a linguagem padrão.
 
Returnou o seguinte: Posted on September 2, 2015 at 10:31 AM Thursday, 01 de January de 1970 A data não cuicide e não traduziu na totalidade
 
Como fizestes??
 
editei lá em cima @Marcelo de Andrade
 
12:23 PM
Você está dando um return, editei meu código. Troque o "return" por um "echo".
 
Mostrei lá em cima como ficou.
 
Retirei da resposta a função strtotime, o seu campo já deve ser do tipo date/datetime. Ficando da seguinte forma: echo str_replace($en, $pt, strftime("%d de %B de %Y as %H:%M", $date));
 
retorna o mesmo sem a função
Alguma ideia como solucionar isto ?
 
Qual retorno você tem ao dar um echo em $page->created ?
 
retorna '1441186272' parece o tempo em segundos ou assim
 
12:23 PM
Amadeu
Qual versão do PHP estás utilizando?
A função funciona corretamente.
$date = '1441186272'; // $page->created

$en = array('','January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
$pt = array(' de ', 'janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro');

echo str_replace($en, $pt, strftime("%d de %B de %Y as %H:%M", $date));
 
ok ja testo :)
 
 
1 hour later…
1:35 PM
Posted on September 2, 2015 at 10:31 AM
1441186272
01 de janeiro de 1970 as 01:00
a data de cima é diferente da outra
 
2:01 PM
Estranho isso, pois o timestamp que passaste, funciona corretamente pra mim.
Qual é a versão do teu PHP?
 
0Current PHP version: 5.6.12
 

  last day (16 days later) »