Menu
Coddy logo textTech

Formatowanie obiektów DateTime

Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 49 z 68.

Teraz, gdy masz obiekt DateTime, musisz przekształcić go w czytelny format tekstowy. Metoda format() pozwala przekształcić obiekt DateTime w dowolny format daty lub czasu potrzebny do wyświetlenia.

Metoda format() używa dokładnie tych samych znaków formatujących, których nauczyłeś się przy funkcji date(). Ta spójność ułatwia zastosowanie dotychczasowej wiedzy do obiektów DateTime. Wywołujesz tę metodę bezpośrednio na obiekcie DateTime i przekazujesz ciąg formatujący jako parametr.

<?php
$now = new DateTime();
echo $now->format("Y-m-d");     // Wyświetla: 2024-03-15
echo $now->format("H:i:s");     // Wyświetla: 14:30:25
echo $now->format("l, F j, Y"); // Wyświetla: Friday, March 15, 2024
?>

Podejście obiektowe z użyciem format() zapewnia lepszą organizację kodu, zwłaszcza gdy wielokrotnie pracujesz z tą samą datą. Tworzysz obiekt DateTime raz i możesz formatować go na różne sposoby w całym kodzie, bez wielokrotnego wywoływania funkcji proceduralnych.

challenge icon

Wyzwanie

Łatwy

Otrzymasz dwa dane wejściowe: ciąg znaków z datą w formacie Y-m-d H:i:s oraz ciąg formatujący. Pierwsze dane wejściowe to konkretna data i godzina (przykład: 2024-03-15 14:30:25), a drugie to ciąg formatujący, który określa sposób wyświetlania daty (przykład: l, F j, Y).

Wczytaj oba dane wejściowe, utwórz obiekt DateTime za pomocą ciągu znaków z datą, użyj metody format(), aby przekształcić obiekt DateTime zgodnie z podanym ciągiem formatującym, i wypisz sformatowany wynik.

Format danych wejściowych:

  • Pierwszy wiersz: ciąg znaków z datą w formacie Y-m-d H:i:s (przykład: 2024-03-15 14:30:25)
  • Drugi wiersz: ciąg formatujący (przykład: l, F j, Y lub H:i:s lub Y-m-d)

Oczekiwany wynik: Data sformatowana zgodnie z podanym ciągiem formatującym

Spróbuj swoich sił

<?php
// Wczytaj ciąg znaków z datą
$dateString = trim(fgets(STDIN));

// Wczytaj ciąg znaków określający format
$formatString = trim(fgets(STDIN));

// TODO: Napisz swój kod poniżej
// Utwórz obiekt DateTime i sformatuj datę zgodnie z ciągiem znaków określającym format


// Wyświetl sformatowaną datę
echo $formattedDate;
?>
quiz iconSprawdź się

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

Poćwicz samodzielnie: Kompilator PHP online