Wprowadzenie do obiektu DateTime
Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 48 z 68.
Chociaż funkcje proceduralne, takie jak date(), time() i strtotime(), dobrze sprawdzają się przy podstawowych operacjach na datach, PHP oferuje bardziej wydajne i elastyczne podejście za pomocą klasy DateTime. Ta metoda obiektowa zapewnia lepszą organizację, czytelniejszą składnię i bardziej zaawansowane możliwości pracy z datami i godzinami.
Klasa DateTime reprezentuje konkretny moment w czasie jako obiekt, którym możesz następnie manipulować i formatować go za pomocą różnych metod. W przeciwieństwie do funkcji proceduralnych, które działają na oddzielnych znacznikach czasu i ciągach formatu, obiekt DateTime łączy w sobie zarówno dane dotyczące daty i czasu, jak i operacje, które możesz na nich wykonywać.
<?php
$now = new DateTime();
echo $now->format('Y-m-d H:i:s'); // Wyświetla coś w rodzaju: 2024-03-15 14:30:25
?>Utworzenie nowego obiektu DateTime bez żadnych parametrów automatycznie ustawia go na bieżącą datę i godzinę.
Podejście obiektowe sprawia, że Twój kod jest bardziej czytelny i łatwiejszy w utrzymaniu, zwłaszcza gdy musisz wykonywać wiele operacji na tej samej dacie. Przekonasz się, że jest to szczególnie przydatne podczas pracy z bardziej złożonymi obliczeniami dat i wymaganiami dotyczącymi formatowania.
Wyzwanie
ŁatwyOtrzymasz jedno wejście: ciąg znaków z datą w formacie Y-m-d H:i:s (przykład: 2024-03-15 14:30:25).
Odczytaj wejściowy ciąg znaków z datą, utwórz obiekt DateTime, przekazując ten ciąg jako parametr, a następnie bezpośrednio wypisz obiekt DateTime.
Gdy utworzysz obiekt DateTime z ciągiem znaków z datą jako parametrem, będzie on reprezentował konkretny moment, a nie bieżącą datę i godzinę. Po prostu wyświetl obiekt za pomocą echo.
Format wejścia: Jeden wiersz zawierający ciąg znaków z datą w formacie Y-m-d H:i:s (przykład: 2024-03-15 14:30:25)
Oczekiwane wyjście: Data i godzina sformatowane jako Y-m-d H:i:s
Spróbuj swoich sił
<?php
// Odczytaj wejściowy ciąg znaków z datą
$dateString = trim(fgets(STDIN));
// TODO: Utwórz obiekt DateTime na podstawie ciągu znaków z datą i go wypisz
?>Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
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