Menu
Coddy logo textTech

Formatando Objetos DateTime

Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 49 de 68.

Agora que você tem um objeto DateTime, você precisa convertê-lo em um formato de string legível. O método format() é a sua ferramenta para transformar um objeto DateTime em qualquer formato de data ou hora que você precise para fins de exibição.

O método format() utiliza os exatos mesmos caracteres de formatação que você aprendeu com a função date(). Essa consistência torna fácil aplicar seu conhecimento existente a objetos DateTime. Você chama o método diretamente em seu objeto DateTime e passa a string de formatação como um parâmetro.

<?php
$now = new DateTime();
echo $now->format("Y-m-d");     // Saída: 2024-03-15
echo $now->format("H:i:s");     // Saída: 14:30:25
echo $now->format("l, F j, Y"); // Saída: Sexta-feira, 15 de março de 2024
?>

A abordagem orientada a objetos com format() proporciona uma melhor organização do código, especialmente quando você está trabalhando com a mesma data várias vezes. Você cria o objeto DateTime uma vez e pode formatá-lo de diferentes maneiras ao longo do seu código sem chamar repetidamente funções procedurais.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

challenge icon

Desafio

Fácil

Você receberá duas entradas: uma string de data no formato Y-m-d H:i:s e uma string de formato. A primeira entrada é uma data e hora específica (exemplo: 2024-03-15 14:30:25), e a segunda entrada é uma string de formato que especifica como exibir a data (exemplo: l, F j, Y).

Leia ambas as entradas, crie um objeto DateTime usando a string de data, use o método format() para transformar o objeto DateTime de acordo com a string de formato fornecida e imprima o resultado formatado.

Formato de entrada:

  • Primeira linha: Uma string de data no formato Y-m-d H:i:s (exemplo: 2024-03-15 14:30:25)
  • Segunda linha: Uma string de formato (exemplo: l, F j, Y ou H:i:s ou Y-m-d)

Saída esperada: A data formatada de acordo com a string de formato fornecida

Folha de consulta

O método format() converte um objeto DateTime em um formato de string legível usando os mesmos caracteres de formatação que a função date():

<?php
$now = new DateTime();
echo $now->format("Y-m-d");     // Saída: 2024-03-15
echo $now->format("H:i:s");     // Saída: 14:30:25
echo $now->format("l, F j, Y"); // Saída: Friday, March 15, 2024
?>

A abordagem orientada a objetos permite que você crie um objeto DateTime uma vez e o formate de várias maneiras sem chamar repetidamente funções procedurais.

Experimente você mesmo

<?php
// Lê a string de data
$dateString = trim(fgets(STDIN));

// Lê a string de formato
$formatString = trim(fgets(STDIN));

// TODO: Escreva seu código abaixo
// Cria um objeto DateTime e formata-o de acordo com a string de formato


// Exibe a data formatada
echo $formattedDate;
?>
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica & Fluxo