Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia
Estou com um problema e não estou conseguindo formatar a data para dd/mm/YY na seguinte linha
<span><?php st_the_language("added_on") ?> <?php echo esc_html($data['date']) ?></span>
Atualmente, aparece **out 11,2017** com o código acima
Alguém pode me ajudar?
Obrigado.
kkloApareceu uma outra data 01/01/1970 00:00:00 deveria aparecer a mesma data acima
Imaginei que falaria isso em vez de entender o código....
>
25 minutos atrás, Luiz Gustavo Costa Ceolin disse:
d/m/Y H:i:s
D = Day
M = Month
Y = Year
H = Hour
i = Minutes
s = Second
É sempre bom dar uma pesquisada antes..http://php.net/manual/pt_BR/function.date.php
$timezone = new DateTimeZone('America/Sao_Paulo');
$formatDate = DateTime::createFromFormat('M d,Y', $data['date'], $timezone);
echo $formatDate->format('d/m/Y'); // 11/10/2017Se ficar assim:
<span><?php st_the_language("added_on") ?>
<?php $timezone = new DateTimeZone('America/Sao_Paulo');
$formatDate = DateTime::createFromFormat('M d,Y', $data['date'], $timezone);
echo $formatDate->format('d/m/Y'); // 11/10/2017?></span>
dá erro **Fatal error**: Call to a member function format() on boolean in...de um..
var_dump($data['date']);
e poste aqui o resultado<span><?php st_the_language("added_on") ?> <?php $timezone = new DateTimeZone('America/Sao_Paulo');
$formatDate = DateTime::createFromFormat('M d,Y', $data['date'], $timezone);
echo var_dump($data['date']); // 11/10/2017?></span>
o resultado é
string(12) "out 13, 2017"onde ta M d,Y é a "máscara" do valor que se espera no método.
DateTime::createFromFormat('M d,Y', $data['date'], $timezone);
Então ele ta esperando uma data "**out 13,2017**" (com o ano junto da vírgula).
Se a data ta vindo "**out 13, 2017**" (com o espaço depois da vírgula) basta ajusta a "máscara" para **M d, Y**
DateTime::createFromFormat('M d, Y', $data['date'], $timezone);Se eu colocar:
<span><?php st_the_language("added_on") ?> <?php $timezone = new DateTimeZone('America/Sao_Paulo');
$formatDate = DateTime::createFromFormat('M d, Y', $data['date'], $timezone);
echo $formatDate->format('d/m/Y'); // 11/10/2017 </span>
me dá erro.
**Fatal error**: Call to a member function format() on boolean in ...
Se eu colocar a linha que tu disse para ver a string
<span><?php st_the_language("added_on") ?> <?php $timezone = new DateTimeZone('America/Sao_Paulo');
$formatDate = DateTime::createFromFormat('M d, Y', $data['date'], $timezone);
echo var_dump($data['date']); // 11/10/2017?></span>
Recebo a mesma mensagem que antes.
string(12) "out 13, 2017"
Coisinha complicada, parece tão facil...Parece que é difícil para não dizer impossível deixar o formato data em 13 out 2017
<?php
$data = explode(" ", "out 13, 2017");
$data = substr($data[1], 0, -1)." ".$data[0]." ".$data[2];
echo $data;