0Pricing
Python Academy · Lekcja

Formatowanie i analizowanie

Używaj strftime i strptime

Formatowanie i analizowanie to bezpłatna lekcja Python Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Python Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Python Academy zawiera 4 lekcji w sumie.

Po co formatować i analizować?

Komputery przechowują daty jako obiekty, ale ludzie odczytują je jako tekst. Formatowanie przekształca obiekt datetime w ciąg znaków, a parsowanie przekształca ciąg znaków z powrotem w obiekt datetime.

  • strftime = string FROM time (formatowanie).
  • strptime = string PARSE time (parsowanie).
from datetime import datetime
now = datetime(2026, 5, 30, 14, 5)
print(now)

Pierwsze użycie strftime

Wywołaj .strftime(format) na obiekcie datetime. Kody formatu zaczynają się od %: %Y oznacza rok zapisany za pomocą 4 cyfr, %m oznacza miesiąc, a %d oznacza dzień.

from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%Y-%m-%d'))

Formatowanie części dotyczącej czasu

Kody czasu: %H oznacza godzinę (00–23), %M oznacza minutę, a %S oznacza sekundę. Można je dowolnie łączyć ze zwykłym tekstem.

from datetime import datetime
d = datetime(2026, 5, 30, 9, 7, 3)
print(d.strftime('%H:%M:%S'))

Nazwy przyjazne dla użytkownika

Niektóre kody generują nazwy: %A oznacza pełną nazwę dnia tygodnia, %B pełną nazwę miesiąca, a %b skróconą nazwę miesiąca.

from datetime import datetime
d = datetime(2026, 5, 30)
print(d.strftime('%A, %B %d, %Y'))

Zegar 12-godzinny oraz AM/PM

Użyj %I dla godziny w formacie 12-godzinnym oraz %p dla oznaczeń AM lub PM. Jest to częste rozwiązanie w informacjach wyświetlanych użytkownikom.

from datetime import datetime
d = datetime(2026, 5, 30, 14, 30)
print(d.strftime('%I:%M %p'))

Parsowanie za pomocą strptime

datetime.strptime(text, format) odczytuje ciąg znaków i przekształca go w obiekt datetime. Format musi dokładnie odpowiadać tekstowi — każdy kod musi się zgadzać.

from datetime import datetime
text = '2026-05-30'
d = datetime.strptime(text, '%Y-%m-%d')
print(d)
print(type(d))

Jednoczesne parsowanie daty i czasu

Uwzględnij kody czasu w formacie, aby sparsować pełny znacznik czasu. Każdy separator (myślnik, spacja, dwukropek) występujący w tekście musi również wystąpić we wzorcu.

from datetime import datetime
text = '30/05/2026 14:05'
d = datetime.strptime(text, '%d/%m/%Y %H:%M')
print(d.year, d.hour, d.minute)

Pełny cykl: parsowanie, a następnie formatowanie

Typowy przebieg pracy polega na sparsowaniu otrzymanego tekstu, wykonaniu pewnych operacji, a następnie ponownym sformatowaniu go na potrzeby wyniku — nawet w zupełnie innym układzie.

from datetime import datetime
raw = '2026-05-30'
d = datetime.strptime(raw, '%Y-%m-%d')
pretty = d.strftime('%B %d, %Y')
print(pretty)

Skrót do formatu ISO

.isoformat() tworzy standardowy ciąg znaków zgodny z ISO 8601, a datetime.fromisoformat() odczytuje go bez potrzeby używania kodów formatu.

from datetime import datetime
d = datetime(2026, 5, 30, 14, 5)
s = d.isoformat()
print(s)
back = datetime.fromisoformat(s)
print(back == d)

Obsługa błędów parsowania

Jeśli tekst nie pasuje do formatu, strptime zgłasza wyjątek ValueError. Gdy dane wejściowe mogą być niepoprawne, należy użyć konstrukcji try/except.

from datetime import datetime
try:
    datetime.strptime('not-a-date', '%Y-%m-%d')
except ValueError as e:
    print('Could not parse:', e)

Dzień roku i inne informacje

Dodatkowe kody: %j oznacza dzień roku (001–366), a %w dzień tygodnia zapisany jako liczba (0 = niedziela). Są przydatne podczas tworzenia raportów.

from datetime import datetime
d = datetime(2026, 5, 30)
print('Day of year:', d.strftime('%j'))

Szybkie sprawdzenie

Mają Państwo ciąg znaków '2026-05-30'. Które wywołanie przekształci go w obiekt datetime?

Podsumowanie: formatowanie i parsowanie

Zapamiętaj:

  • strftime(fmt) przekształca obiekt datetime W ciąg znaków.
  • strptime(text, fmt) przekształca ciąg znaków W obiekt datetime.
  • Typowe kody: %Y %m %d dla dat oraz %H %M %S dla czasu, a także %A %B dla nazw.
  • isoformat() i fromisoformat() automatycznie obsługują standard ISO.
from datetime import datetime
d = datetime.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
print(d.strftime('%A at %I:%M %p'))

Często zadawane pytania

Czy lekcja „Formatowanie i analizowanie” jest bezpłatna?

Tak — pełny tekst „Formatowanie i analizowanie” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Python Academy, przejdź na CoddyKit PRO. Kurs Python Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Formatowanie i analizowanie”?

Używaj strftime i strptime Ćwiczysz Python Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Python Academy?

Nie wymagamy żadnego doświadczenia. Python Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Formatowanie i analizowanie”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Python Academy?

Tak. Każda lekcja Python Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. date, time, datetime
  2. Timedelta i działania arytmetyczne
  3. Formatowanie i analizowanie
  4. Strefy czasowe z zoneinfo
← Powrót do Python Academy