Introdução ao Objeto DateTime
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy — lição 48 de 68.
Embora as funções procedurais como date(), time() e strtotime() funcionem bem para operações básicas de data, o PHP oferece uma abordagem mais poderosa e flexível por meio da classe DateTime. Este método orientado a objetos proporciona melhor organização, sintaxe mais clara e funcionalidades mais avançadas para trabalhar com datas e horários.
A classe DateTime representa um momento específico no tempo como um objeto, que você pode então manipular e formatar usando vários métodos. Ao contrário de funções procedurais que trabalham com timestamps e strings de formato separados, um objeto DateTime encapsula tanto os dados de data/hora quanto as operações que você pode realizar neles.
<?php
$now = new DateTime();
echo $now; // Exibe algo como: 2024-03-15 14:30:25
?>A criação de um novo objeto DateTime sem nenhum parâmetro define-o automaticamente para a data e hora atuais.
A abordagem orientada a objetos torna seu código mais legível e fácil de manter, especialmente quando você precisa realizar múltiplas operações na mesma data. Você achará isso particularmente útil conforme trabalha com cálculos de data e requisitos de formatação mais complexos.
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á uma entrada: uma string de data no formato Y-m-d H:i:s (exemplo: 2024-03-15 14:30:25).
Leia a string de data de entrada, crie um objeto DateTime usando esta string de data como parâmetro e imprima o objeto DateTime diretamente.
Quando você cria um objeto DateTime com um parâmetro de string de data, ele representa aquele momento específico no tempo em vez da data e hora atuais. Simplesmente use echo no objeto para exibi-lo.
Formato de entrada: Uma linha contendo uma string de data no formato Y-m-d H:i:s (exemplo: 2024-03-15 14:30:25)
Saída esperada: O objeto DateTime exibido em seu formato padrão
Folha de consulta
A classe DateTime fornece uma abordagem orientada a objetos para trabalhar com datas e horas no PHP, oferecendo melhor organização e flexibilidade do que as funções procedurais.
Crie um objeto DateTime para a hora atual:
$now = new DateTime();Crie um objeto DateTime para uma data específica:
$specificDate = new DateTime("2023-05-15");Use o método format() para exibir datas em formatos específicos:
echo $now->format("Y-m-d H:i:s"); // 2024-03-15 14:30:25
echo $specificDate->format("Y-m-d"); // 2023-05-15Experimente você mesmo
<?php
// Lê a entrada da string de data
$dateString = trim(fgets(STDIN));
// TODO: Criar um objeto DateTime usando a string de data e imprimi-lo
?>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