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.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Desafio
FácilVocê 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, YouH:i:souY-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;
?>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
1Funções Avançadas
Funções AnônimasClosures e 'use'Arrow FunctionsFunções de CallbackUsando 'call_user_func'Funções VariáveisPassagem por ReferênciaFunções RecursivasRecapitulação: Mix de Funções4Arrays Multidimensionais
Criando um Array 2DAcessando Elementos de um Array 2DModificando Elementos de um Array 2DIterando com Loops AninhadosArrays Associativos 2DRecapitulação: Exercício de Grade Simples7Trabalhando com Datas e Horas
A Função 'date()'Unix Timestamps com 'time()'Introdução ao Objeto DateTimeFormatando Objetos DateTimeModificando Objetos DateTimeRecapitulação: Cálculos de Data2Manipulações Avançadas de Arrays
Adicionando com 'array_push'Removendo com 'array_pop'Adicionando com 'array_unshift'Removendo com 'array_shift'Mesclando Arrays IndexadosMesclando Arrays AssociativosExtraindo com 'array_slice'Valores com 'in_array'Chaves com 'array_search'Recapitulação: Exercício de Playlist3Ordenação de Arrays
Ordenar Arrays Indexados (Crescente)Ordenar Arrays Indexados (Decrescente)Ordenar Arrays Associativos por ValorOrdenar Arrays Associativos por ChaveOrdenação por Ordem NaturalOrdenação Personalizada com 'usort'Recapitulação: Ordenação de Leaderboard