Podsumowanie: obliczenia na datach
Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 51 z 68.
Wyzwanie
ŁatwyOtrzymasz trzy dane wejściowe: datę początkową, datę końcową i ciąg formatujący. Pierwsze dwa dane wejściowe to ciągi dat w formacie Y-m-d (przykład: 2024-03-15), a trzecie to wyrażenie modyfikujące, takie jak +5 days, -2 weeks lub +1 month.
Wczytaj wszystkie trzy dane wejściowe, utwórz dwa obiekty DateTime na podstawie daty początkowej i końcowej, zastosuj wyrażenie modyfikujące do daty początkowej, a następnie ustal, która data jest późniejsza: zmodyfikowana data początkowa czy pierwotna data końcowa. Wypisz późniejszą datę w formacie Y-m-d.
Format danych wejściowych:
- Pierwszy wiersz: ciąg daty początkowej w formacie
Y-m-d(przykład:2024-03-15) - Drugi wiersz: ciąg daty końcowej w formacie
Y-m-d(przykład:2024-04-10) - Trzeci wiersz: ciąg modyfikujący (przykład:
+5 dayslub-2 weeks)
Oczekiwane wyjście: Późniejsza data spośród zmodyfikowanej daty początkowej i pierwotnej daty końcowej, sformatowana jako Y-m-d
Spróbuj swoich sił
<?php
// Wczytaj trzy dane wejściowe
$startDate = trim(fgets(STDIN));
$endDate = trim(fgets(STDIN));
$modification = trim(fgets(STDIN));
// TODO: Napisz swój kod poniżej
// Utwórz obiekty DateTime z daty początkowej i końcowej
// Zastosuj modyfikację do daty początkowej
// Porównaj zmodyfikowaną datę początkową z datą końcową
// Ustal, która data jest późniejsza
// Wyświetl późniejszą datę w formacie Y-m-d
echo $laterDate;
?>Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane funkcje
Funkcje anonimoweDomknięcia i „use”Funkcje strzałkoweFunkcje zwrotneUżywanie „call_user_func”Funkcje zmiennePrzekazywanie przez referencjęFunkcje rekurencyjnePowtórka: przegląd funkcji4Tablice wielowymiarowe
Tworzenie tablicy 2DDostęp do elementów tablicy 2DModyfikowanie elementów tablicy 2DIterowanie z użyciem zagnieżdżonych pętliAsocjacyjne tablice 2DPodsumowanie: ćwiczenie z prostą siatką7Praca z datami i czasem
Funkcja 'date()'Znaczniki czasu Unix za pomocą 'time()'Wprowadzenie do obiektu DateTimeFormatowanie obiektów DateTimeModyfikowanie obiektów DateTimePodsumowanie: obliczenia na datach2Zaawansowane operacje na tablicach
Dodawanie za pomocą 'array_push'Usuwanie za pomocą 'array_pop'Dodawanie za pomocą 'array_unshift'Usuwanie za pomocą 'array_shift'Łączenie tablic indeksowanychŁączenie tablic asocjacyjnychWyodrębnianie za pomocą 'array_slice'Wyszukiwanie wartości za pomocą 'in_array'Wyszukiwanie kluczy za pomocą 'array_search'Podsumowanie: ćwiczenie z playlistą3Sortowanie tablic
Sortowanie tablic indeksowanych rosnącoSortowanie tablic indeksowanych malejącoSortowanie tablic asocjacyjnych według wartościSortowanie tablic asocjacyjnych według kluczaSortowanie w kolejności naturalnejSortowanie niestandardowe za pomocą 'usort'Podsumowanie: sortowanie tabeli wynikówPoćwicz samodzielnie: Kompilator PHP online