Jump to content
kklo

Formatação de Data

Recommended Posts

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.

kklo

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites
$timezone = new DateTimeZone('America/Sao_Paulo');
$formatDate = DateTime::createFromFormat('M d,Y', $data['date'], $timezone);
echo $formatDate->format('d/m/Y'); // 11/10/2017

 

Share this post


Link to post
Share on other sites

Se 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...

Share this post


Link to post
Share on other sites

de um..

var_dump($data['date']);

 

e poste aqui o resultado

Share this post


Link to post
Share on other sites
      <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"

Share this post


Link to post
Share on other sites

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);

 

Share this post


Link to post
Share on other sites

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...

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Kefatif
      Prezados, boa tarde!
       
      Estou tentando fazer com que meu sistema grave num campo chamado "ULTIMO_ACESSO" a data após o login do usuário.
       
      Para isso estou tentando com o seguinte código:
      $sqlultimoacesso = "UPDATE USUARIOS set ULTIMO_ACESSO = curdate() WHERE ID_USUARIO = ".$row["ID_USUARIO"]; Mas não estou conseguindo, alguém poderia me auxiliar?
       
      Agradeço desde já pela ajuda!
    • By Alessandro Bodão
      Fala rapaziada! Tudo legal?
       
      Estou desenvolvendo um site onde coloquei uma espécie de 'relógio' nele, onde as pessoas veem que horas são, os minutos e segundos vão atualizando automático. Até aí tudo certo...
       
      No header do site tem um título principal (h1) que começa dando bom dia. Como as pessoas vão acessar o site em horários diferentes, tive a ideia do texto atualizar automaticamente pra boa tarde ou boa noite, relativo ao intervalo de tempo do relógio, mas não sou tão bom ainda com javascript. 
    • By Alessandro Bodão
      Fala rapaziada! Tudo legal?
       
      Estou desenvolvendo um site onde coloquei uma espécie de 'relógio' nele, onde as pessoas veem que horas são, os minutos e segundos vão atualizando automático. Até aí tudo certo...
       
      No header do site tem um título principal (h1) que começa dando bom dia. Como as pessoas vão acessar o site em horários diferentes, tive a ideia do texto atualizar automaticamente pra boa tarde ou boa noite, relativo ao intervalo de tempo do relógio, mas não sou tão bom ainda com javascript. 
       
      Como eu poderia fazer isso?
    • By mamotinho
      Olá, gostaria de sabe como posso fazer uma contagem regressiva apartir de um registro em meu banco de dados eu tentei montar um código da seguinte forma:

       
      <? $DateGET = date('m/d/Y H:i A', strtotime($result->DateDiscount)); ?> <script> var valueDate = <?=$DateGET?>; var end = new Date(valueDate); var _second = 1000; var _minute = _second * 60; var _hour = _minute * 60; var _day = _hour * 24; var timer; function showRemaining() { var now = new Date(); var distance = end - now; if (distance < 0) { clearInterval(timer); document.getElementById("countdown").innerHTML = "EXPIRED!"; return; } var days = Math.floor(distance / _day); var hours = Math.floor((distance % _day) / _hour); var minutes = Math.floor((distance % _hour) / _minute); var seconds = Math.floor((distance % _minute) / _second); document.getElementById("countdown").innerHTML = "<span class='n_date day' id='days'>" + days + "</span><span class='date'>일</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time hour' id='hrs'>" + hours + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time minute' id='minus'>" + minutes + "</span>"; document.getElementById("countdown").innerHTML += "<span class='n_time second' id='secs'>" + seconds + "</span>"; } timer = setInterval(showRemaining, 1000); </script> Mais infelizmente não passou a data registrada no banco de dados, alguém teria ideia de como posso ta fazendo.
    • By Alberto Nascimento
      Como faço para inserir data e horário no campo abaixo?
       
      <input name="horarioatual" id="horarioatual" style="width: 366px" type="text" />  
      Quando utilizava no PHP 5.3 funcionava com "echo", porém agora não esta mais quando estou utilizando o PHP 5.6
       
      <?php echo "$date"; ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.