Pablo Danilo Mota
10/8/2022 Pablo Danilo Mota

[PHP]: Datetime + Format

blog-feature-image

Faaala galeraaa, tudo bem com vocês?
Depois de algum tempo sem posts, voltaremos com tudo para trazer vários conteúdos maneiros pra vocês! 🤙

Hoje o assunto abordado será na linguagem PHP, que usamos aqui na FW7, no nosso projeto legado.
Mas nesse post, conheceremos só algumas funções específicas, usadas para trabalhar com datas.

Obs: Para melhor compreender esse conteúdo, você precisa ter um conhecimento básico de PHP. 😜


DateTime

Essa função é nativa do PHP. Ela permite que trabalhemos com a data e hora como se fossem objetos.
Dessa forma, a função DateTime() é a maneira mais fácil de estarmos manipulando datas dentro de uma aplicação.


🛠 Sintaxe:

Para utilizar o DateTime(), basta seguir a sintaxe à seguir.

  $data = new DateTime();

Observe que não utilizamos nenhum parâmetro na função 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 uma data específica.
Vejamos o exemplo abaixo:

  <?php
    $dataAtual = new DateTime();
    $dataEspecifica = new DateTime('2022-01-22');

    print_r($dataAtual);
    echo "<br>";
    print_r($dataEspecifica);

Dessa forma, observe o resultado:

DateTime Object ( [date] => 2022-07-29 17:58:46.784442 [timezone_type] => 3 [timezone] => UTC )
DateTime Object ( [date] => 2022-01-22 00:00:00.000000 [timezone_type] => 3 [timezone] => UTC )

🧠 Format

Na função DateTime, geramos um objeto. Portanto, a partir disso podemos utilizar o método format(), capaz de formatar o datetime a qualquer momento.

🕰 Esses são os formatos possíveis:
Data:

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

Hora:

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

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 no exemplo abaixo:

  <?php
    $dataAtual = new DateTime();
    $dataEspecifica = new DateTime('2022-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:

29-07-22 18:30:12
22-01-2022 00:00:00

🏆 Dicas

Além dessas funções, existem algumas dicas para nos ajudar no dia a dia.
Vejamos alguns exemplos:

⭐️ Último dia do mês

Podemos também utilizar a função format() para obter o último dia do mês.

  <?php
    $dataAtual = new DateTime();
    echo $dataAtual->format('t');

Resultado:

31

⭐️ Modificar

Podemos modificar o valor do objeto DateTime, através do método modify.
Vejamos o exemplo abaixo:

  <?php
    $dataEspecifica = new DateTime('2022-01-22');
    $dataEspecifica->modify('+2 day');
    echo $dataEspecifica->format('d-m-Y H:i:s');

Resultado:

24-01-2022 00:00:00

⭐️ Adicionar

Podemos adicionar um valor ao objeto DateTime, através do método add.
Veja o exemplo abaixo, adicionando 2 dias há uma data já definida:

  <?php
    $dataEspecifica = new DateTime('2022-01-22');
    $dataEspecifica->add(new DateInterval('P2D'));
    echo $dataEspecifica->format('d-m-Y H:i:s');

Resultado:

24-01-2022 00:00:00

⭐️ Subtrair

Podemos subtrair um valor ao objeto DateTime, através do método sub.
Vejamos o exemplo abaixo, subtraindo 2 dias de uma data existente:

  <?php
    $dataEspecifica = new DateTime('2022-01-22');
    $dataEspecifica->sub(new DateInterval('P2D'));
    echo $dataEspecifica->format('d-m-Y H:i:s');

Resultado:

20-01-2022 00:00:00

🎯 Conclusão

Entender como funciona o DateTime é essencial para lidar com datas e manipulações da mesma, fazendo com que ela se adeque a sua necessidade, para, por exemplo, exibir ela, ou até mesmo para a operação de um sistema.

A maioria das linguagens de programação possui uma função específica para isso. E é muito importante que você entenda como funcionam essas funções nativas, para evitar o uso de bibliotecas e manter a performance da aplicação.


🔗 Referências


“O espaço entre a teoria e a prática não é tão grande como é, a teoria na prática.”

Pablo Danilo Mota.

comments powered by Disqus

NOS ACOMPANHE NAS REDES SOCIAIS