Recapitulação: Cálculos de Data
Parte da seção Lógica & Fluxo do Journey de PHP da Coddy. Lição 51 de 68.
Desafio
FácilVocê receberá três entradas: uma data inicial, uma data final e uma string de formato. As duas primeiras entradas são strings de data no formato Y-m-d (exemplo: 2024-03-15), e a terceira entrada é uma expressão de modificação, como +5 days, -2 weeks ou +1 month.
Leia as três entradas, crie dois objetos DateTime a partir das datas inicial e final, aplique a expressão de modificação à data inicial e, em seguida, determine qual data é posterior: a data inicial modificada ou a data final original. Imprima a data posterior no formato Y-m-d.
Formato da entrada:
- Primeira linha: uma string de data inicial no formato
Y-m-d(exemplo:2024-03-15) - Segunda linha: uma string de data final no formato
Y-m-d(exemplo:2024-04-10) - Terceira linha: uma string de modificação (exemplo:
+5 daysou-2 weeks)
Saída esperada: a data posterior entre a data inicial modificada e a data final original, formatada como Y-m-d
Experimente você mesmo
<?php
// Leia as três entradas
$startDate = trim(fgets(STDIN));
$endDate = trim(fgets(STDIN));
$modification = trim(fgets(STDIN));
// TODO: Escreva seu código abaixo
// Crie objetos DateTime a partir das datas de início e fim
// Aplique a modificação à data de início
// Compare a data de início modificada com a data de fim
// Determine qual data é posterior
// Exiba a data posterior no formato Y-m-d
echo $laterDate;
?>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