Introdução ao Objeto DateTime
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy. Lição 48 de 68.
Embora funções procedurais como date(), time() e strtotime() funcionem bem para operações básicas com datas, PHP oferece uma abordagem mais poderosa e flexível por meio da classe DateTime. Esse 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 manipular e formatar usando vários métodos. Diferentemente das 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 nele.
<?php
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // Outputs something like: 2024-03-15 14:30:25
?>Criar um novo objeto DateTime sem nenhum parâmetro o define automaticamente como 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 várias operações na mesma data. Você achará isso particularmente útil ao trabalhar com cálculos de datas mais complexos e requisitos de formatação.
Desafio
FácilVocê receberá um input: uma date string no formato Y-m-d H:i:s (exemplo: 2024-03-15 14:30:25).
Leia a date string do input, crie um DateTime object usando essa date string como parâmetro e imprima o DateTime object diretamente.
Quando você cria um DateTime object com um parâmetro de date string, ele representa aquele momento específico no tempo, em vez da date e hora atuais. Basta usar echo no object para exibi-lo.
Formato do input: Uma linha contendo uma date string no formato Y-m-d H:i:s (exemplo: 2024-03-15 14:30:25)
Saída esperada: A date e a hora formatadas como Y-m-d H:i:s
Experimente você mesmo
<?php
// Lê a string de data de entrada
$dateString = trim(fgets(STDIN));
// TODO: Crie um objeto DateTime usando a string de data e imprima-o
?>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 LeaderboardPratique por conta própria: Compilador de PHP online