Jump to content
terra

Formatar data por extenso

Recommended Posts

Segue:

 

CÓDIGO:

<?php


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

$data = "08 de março de 2020, 15h";
$data = str_replace($pt, $en, $data);
$hora = preg_match("/([\w]+), ([\d]+)h/", $data, $match);

echo date( 'Y-m-d',
	strtotime (
		$match[1]
	)
) . " {$match[2]}:00:00";

 

Share this post


Link to post
Share on other sites

Depende...

 

Essa data está em formato Date e é impressa nesse formato demonstrado ou é uma string aleatória?

 

O que recomendo:

Sempre utilize datas em formato DATE nunca STRING e dito isso você pode utilizar a função strtotime junto com date

$date = date('Y-m-d H:i:s', strtotime($dateString));

 

Mas o que realmente recomendo ao trabalhar com datas de forma pouco mais abrangente é utilizar a classe nativa DateTime do PHP

https://www.php.net/manual/pt_BR/datetime.createfromformat.php

 

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.