PHP Date Format: Exibindo a modificando o padrão de Datas

Utilizando o método PHP Date format podemos especificar um padrão para a exibição da função date. Neste artigo vamos explorar sobre a função Date e DateTime, além de como utilizar o PHP Date com o método Format. Antes de prosseguir recomendamos que possua conhecimentos básicos da linguagem PHP. Porém, caso ainda não conheça a respeito, temos um artigo sobre o que é o PHP e também um curso de PHP gratuito.

O PHP Date

A função PHP date() é nativa do PHP e tem como objetivo formatar uma data, uma hora, ou ambos. Sua sintaxe é bem simples, como no exemplo abaixo:

date(format,timestamp)

O format na função Date() no PHP é um requisito e funciona especificando o formato do registro de data e hora. Já o timestamp é opcional, ele define um carimbo de data e hora. Porém, caso não seja utilizado, adota-se o padrão que são a data e hora atuais. Em outras palavras, o padrão do timestamp é o valor da função time().

Portanto, agora que já compreendemos como funciona a sintaxe da função Date no PHP, vamos ver abaixo um exemplo prático da função date():

<?php
	echo "Hoje é " . date("d/m/Y") . "<br>";
?>

Observe então, que utilizamos o formato date com dia, mês e ano, separadas pela barra. Portanto, o resultado será algo como: Hoje é 06/10/2019. No caso, no seu navegador, será renderizado a data e horários do momento em que a função for executada.

Observe também o exemplo abaixo, onde incluiremos também o horário:

<?php
	echo "Hoje é " . date("d/m/Y h:i:s") . ".<br>";
?>

Dessa forma teremos como resultado algo como: Hoje é 06/10/2019 11:12:23. Porém, se você observar no seu navegador, perceberá que o horário estará em um fuso horário diferente. Posteriormente explicaremos como formatar e escolher o fuso horário adequado.

Para encerrar, é importante entender que a data e hora sempre receberá um formato. Existem algumas formas de estar editando isso. Primeiramente, vamos compreender melhor os diversos formatos, o php date format. Posteriormente, explicaremos então o uso de uma função php date time e o método chamado por format().

PHP Date Format

A princípio demonstramos como é fácil estar utilizando a função date. O parâmetro de formato (format) exigido da função PHP date () especifica como formatar a data (ou hora). Portanto, podemos observar que utilizamos alguns caracteres para poder definir  essa formatação. Vejamos abaixo uma lista de alguns desses principais caracteres para representar a data:

  • d – Representa o dia do mês (01 a 31);
  • m – Representa um mês (01 a 12);
  • Y – representa um ano contendo 4 dígitos;
  • l (‘L’ minúsculo) – representa o dia da semana por extenso;

Além desses valores, também podemos estar formatando a forma de separação entre as datas. Portanto, podemos utilizar outros caracteres como “/”, “.” ou “-” para poder acrescentar uma formatação adicional entre as datas. Portanto, vejamos abaixo alguns exemplos desses usos:

<?php
echo "Hoje é " . date("d/m/Y") . "<br>";
echo "Hoje é " . date("d.m.Y") . "<br>";
echo "Hoje é " . date("d-m-Y") . "<br>";
echo "Hoje é " . date("l");
?>

Dessa forma teremos em nosso navegador algo como:

Diversas formatações de data

Portanto, podemos usar o date format no php da forma que acharmos mais conveniente.

Além disso, também podemos utilizar as formatações do horário. Portanto, veja abaixo os principais caracteres de horário utilizados:

  • H – formato de uma hora de 24 horas (00 a 23);
  • h – formato de 12 horas de uma hora com zeros à esquerda (01 a 12);
  • i – Minutos com zeros à esquerda (00 a 59);
  • s – Segundos com zeros à esquerda (00 a 59);
  • a – Antimeridiano e pós-meridiano em minúsculas (am ou pm);

Vejamos o exemplo a seguir:

<?php
echo "Horário:" . date("H:i:s") . "<br>";
echo "Horário" . date("h:i:sa") . "<br>";
?>

Dessa forma teremos algo como:

Formatações do horário

A função DateTime do PHP

A função DateTime, também nativa do PHP, permite que trabalhemos com a data e hora como se fossem objetos. Dessa forma, podemos manipulá-los facilmente através de diversos métodos. Portanto, isso facilita a criação de scripts envolvendo a conversão  e manipulação de diferentes formatos. Dessa forma, a função DateTime() é a maneira mais fácil de estarmos manipulando datas dentro de uma aplicação. Através dela, será possível estarmos aplicando o métodos php date Format(). Para pode utilizar o DateTime(), basta seguir a sintaxe:

$data = new DateTime();

Observe que não utilizamos nenhum parâmetro na DateTime. Ao realizar esse código, estamos criando um objeto $data que terá o valor atual da nossa data e hora.

Porém, podemos incluir um parâmetro dentro da nossa função DateTime, com o valor que queremos para a data. Vejamos então o exemplo abaixo:

<?php
  $DataAtual = new DateTime();
  $DataEspecifica = new DateTime(' 1990-01-22');
  
  print_r($DataAtual);
  echo "<br>";
  print_r($DataEspecifica);
?>

Dessa forma, observe o resultado:

PHP Date Format e o objeto criado pelo DateTime

O método PHP Date Format()

Como explicamos anteriormente, além da função date por si só, existe outra forma de estar formatando datas e horas, que é a função DateTime. Através dela, geramos um objeto. Portanto, a partir disso podemos utilizar o método format(), capaz de formatar o PHP date time a qualquer momento. Por exemplo, digamos que recebemos um dado com uma valor formatado como Y-m-d H:i:s. Podemos então modificar para o formato que quisermos através do format.

Vejamos então o exemplo abaixo:

<?php
  $DataAtual = new DateTime();
  $DataEspecifica = new DateTime(' 1990-01-22');
  echo $DataAtual->format('d-m-Y H:i:s');
  echo "<br>";
  echo $DataEspecifica->format('d-m-Y H:i:s');;
?>

Dessa forma, teremos como resultado algo como:

aplicação do método Format()

Configurando o fuso horário padrão do PHP

O PHP costuma utilizar o horário padrão do seu servidor, portanto, fica dependente das configurações do servidor. Porém, é possível estar ajustando isso de forma manual, e definindo um valor que esteja correto e de acordo com um local específico, definindo assim um fuso horário para ser utilizado.  Para isso utilizamos a função nativa do PHP date_default_timezone_set. Vejamos abaixo um exemplo de fuso horário definido com o padrão de São Paulo.

<?php
date_default_timezone_set('America/Sao_Paulo');
?>

Dessa forma, todos os horários considerarão o fuso horário padrão de São Paulo.

Os identificadores disponíveis mais comuns para as regiões do Brasil são:

  • America/Rio_Branco;
  • America/Maceio;
  • America/Belem;
  • America/Manaus;
  • America/Bahia;
  • America/Fortaleza;
  • America/Sao_Paulo;
  • America/Recife;
  • America/Cuiaba;
  • America/Campo_Grande;
  • America/Noronha;
  • America/Porto_Velho;
  • America/Boa_Vista;
  • America_Araguaina;
  • Brazil/Acre;
  • Brazil/deNoronha;
  • Brazil/East;
  • Brazil/West.

Os caracteres do PHP Date Format

Abaixo segue uma lista, retirada do manual oficial do PHP, onde encontramos todos os caracteres que podemos utilizar para formatar nossas datas e horários em PHP:

Dia

Caractere de format Descrição Exemplo de valores retornados
d Dia do mês, 2 dígitos com zero à esquerda 01 até 31
D Uma representação textual de um dia, três letras Mon até Sun
j Dia do mês, porém sem zero à esquerda 1 até 31
l (‘L’ minúsculo) A representação textual completa do dia da semana Sunday até Saturday
N Representação numérica ISO-8601 do dia da semana (adicionado no PHP 5.1.0) 1 (para Segunda) até 7 (para Domingo)
S Sufixo ordinal inglês para o dia do mês, 2 caracteres stndrd ou th. Funciona bem com j
w Representação numérica do dia da semana 0 (para domingo) até 6 (para sábado)
z O dia do ano (iniciando em 0) 0 até 365

Semana

Caractere de format Descrição Exemplo de valores retornados
W Número do ano da semana ISO-8601, começa na Segunda (adicionado no PHP 4.1.0) Exemplo: 42 (a 42ª semana do ano)

Mês

Caractere de format Descrição Exemplo de valores retornados
F Um representação completa de um mês, como January ou March January até December
m Representação numérica de um mês, com zero à esquerda 01 a 12
M Uma representação textual curta de um mês, portanto, contendo três letras Jan a Dec
n Representação numérica de um mês, porém sem zero à esquerda 1 a 12
t Número de dias de um dado mês 28 até 31

Ano

Caractere de format Descrição Exemplo de valores retornados
L Se está em um ano bissexto 1 se está em ano bissexto, 0, caso contrário.
o Número do ano ISO-8601. Este tem o mesmo valor como Y, exceto que se o número da semana ISO (W) pertence ao anterior ou próximo ano, o ano é usado ao invés. (adicionado no PHP 5.1.0) Exemplos: 1999 ou 2003
Y Uma representação de ano completa, portanto, contém 4 dígitos Exemplos: 1999 ou 2003
y Uma representação do ano, porém apenas com dois dígitos Exemplos: 99 ou 03

Tempo

Caractere de format Descrição Exemplo de valores retornados
a Antes/Depois de meio-dia em minúsculo am or pm
A Antes/Depois de meio-dia em maiúsculo AM or PM
B Swatch Internet time 000 até 999
g Formato 12-horas de uma hora sem zero à esquerda 1 até 12
G Formato 24-horas de uma hora sem zero à esquerda 0 até 23
h Formato 12-horas de uma hora, porém com zero à esquerda 01 até 12
H Formato 24-horas de uma hora, porém com zero à esquerda 00 até 23
i Minutos com zero à esquerda 00 até 59
s Segundos, com zero à esquerda 00 até 59
u Microssegundos (adicionado no PHP 5.2.2). Note que a função date() sempre gerará 000000, pois aceita um parâmetro integer, enquanto que DateTime::format() possui suporte a microssegundos se DateTime foi criado com microssegundos. Example: 654321

Fuso horário

Caractere de format Descrição Exemplo de valores retornados
e Identificador do fuso horário (adicionado no PHP 5.1.0) Exemplos: UTCGMTAtlantic/Azores
I (i maiúsculo) Se a data está ou não no horário de verão 1 se horário de verão, 0, caso contrário.
O Deslocamento ao Horário de Greenwish (GMT) em horas Exemplo: +0200
P Deslocamento ao Horário de Greenwish (GMT), porém, com dois pontos entre horas e minutos (adicionado no PHP 5.1.3) Exemplo: +02:00
T Abreviação do fuso horário Exemplos: ESTMDT …
Z Deslocamento, em segundos, do fuso horário. O deslocamento para fusos horários a oeste de UTC sempre será negativa, e para aqueles à leste de UTC sempre será positiva. -43200 até 50400

Data/Hora Completa

Caractere de format Descrição Exemplo de valores retornados
c Data ISO 8601 (adicionado no PHP 5) 2004-02-12T15:19:21+00:00
r » RFC 2822 formatted date Exemplo: Thu, 21 Dec 2000 16:01:07 +0200
U Segundos desde Unix Epoch (January 1 1970 00:00:00 GMT) Veja também time()

Conclusão

Entender como funciona o PHP Date Format é essencial para lidar com datas e manipulações da mesma. Muitas aplicações necessitam destas informações para operar. Também é muito importante saber como formatar e manipular qualquer tipo de data, pois muitas vezes recebemos dados que vem em um formato inadequado para o que pretendemos usar. Portanto, ao saber formata-lo, conseguimos adequar ao nosso projeto perfeitamente! Um bom exemplo disso são dados de datas coletados ou enviados para banco de dados, que possuem um formato padrão. Portanto, ao receber estes dados, é necessário fazer o tratamento adequado para podermos apresentá-lo da forma que desejamos.

Além desse artigo, você também pode estar aprofundando seus conhecimentos em desenvolvimento WEB através dos seguintes artigos do blog HomeHost:

Este artigo foi útil?

Obrigado pela resposta!
Rafael Marques

Rafael Marques

Especialista em Desenvolvimento Web e Marketing. É apaixonado por tecnologia, empreendedorismo, audiovisual e animais. Em sua carreira, dedica-se ao empreendedorismo, além de atuar como Desenvolvedor Fullstack e redator técnico. Gosta de usar seu tempo livre para assistir a filmes, jogar, escrever, e passar um bom tempo brincando e mimando seus animais de estimação.

Contato: rafael.blog@homehost.com.br

Ganhe 30% OFF

Indique seu nome e e-mail,e ganhe um cupom de desconto de 30% para sempre na Homehost!