CodeGym /Kurs Javy /Python SELF PL /Formatowanie dat i czasu dla tworzenia raportów i logów

Formatowanie dat i czasu dla tworzenia raportów i logów

Python SELF PL
Poziom 39 , Lekcja 2
Dostępny

1. Formatowanie dat i czasu

Witaj na naszym trzecim wykładzie o pracy z datą i czasem w Pythonie! Dziś na tapecie mamy niezwykle ważny temat, który pomoże twoim raportom i logom być nie tylko funkcjonalnymi, ale również estetycznie przyjemnymi — to formatowanie dat i czasu. Sprawimy, że twoje raporty będą piękne i wygodne, bo nikt nie lubi bałaganu, nawet w kodzie!

Czy kiedykolwiek zastanawiałeś się, dlaczego data w niektórych raportach wygląda tak niezrozumiale? To jak wybór między standardami: wybrać ISO 8601, żeby zaimponować kolegom, czy zostawić wszystko w znajomych formatach? Zobaczmy, jak za pomocą Pythona można elegancko formatować daty i czas, aby wyglądało to tak, jakbyś był programistą, który dokładnie wie, co robi.

W świecie Pythona istnieje świetna metoda strftime(), która pozwala przekształcać obiekty datetime w stringi, formatując je zgodnie z twoimi potrzebami. Zacznijmy od podstawowej składni, a potem przyjrzymy się kilku przykładom formatowania.

Python

from datetime import datetime

# Pobieramy aktualną datę i czas
now = datetime.now()

# Formatujemy aktualną datę i czas do czytelnego stringa
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("Aktualna data i czas:", formatted_date)

Najczęściej używane kody formatowania:

  • %Y: Pełny rok (np. 2023)
  • %m: Miesiąc jako liczba (np. 01 dla stycznia)
  • %d: Dzień miesiąca (np. 01 dla pierwszego dnia miesiąca)
  • %H: Godziny w formacie 24-godzinnym
  • %M: Minuty
  • %S: Sekundy

No więc teraz, gdy już możemy przekształcać daty i czas, przejdźmy do wyboru, który z licznych formatów pasuje do naszego zastosowania. A tak w ogóle, czy wiedziałeś, że w świecie programowania, jeśli nie wiesz, w jakim formacie przedstawiona jest data, możesz napisać całą książkę na ten temat, zanim znajdziesz odpowiedni wariant?

Przykłady formatowania dla logów i raportów

Formatowanie to nie tylko kwestia estetyki. To również dostarczanie czytelnych informacji dla innych. Przykłady zastosowania formatowania mogą być bardzo różnorodne:

  1. Logi plikowe:

    Jeśli twój skrypt zapisuje zdarzenia do pliku logu, to często trzeba w nich rejestrować czas zdarzeń. To nie tylko pomaga śledzić proces pracy skryptu, ale również ułatwia debugowanie.

    Python
    
    log_time = now.strftime("%Y-%m-%d %H:%M:%S")
    log_entry = f"[{log_time}] Wydarzenie: skrypt rozpoczął działanie."
    print(log_entry)
    
  2. Raporty i dokumenty:

    Jeśli generujesz raporty w formacie PDF lub Excel, posiadanie sformatowanej daty w nagłówku lub stopce może być dużym atutem.

    Python
    
    report_date = now.strftime("%d.%m.%Y")
    print(f"Raport został wygenerowany na datę: {report_date}")
    

Elastyczność formatowania

Możesz łączyć kody formatowania, aby tworzyć praktycznie każdy format, jaki jest ci potrzebny.

Powiedzmy, że potrzebujesz formatu jak w starych filmach, aby zaimponować swojemu szefowi:

Python

vintage_format = now.strftime("%A, %B %d, %Y at %I:%M %p")
print("Wintage'owa data:", vintage_format)

Tutaj kody %A, %B, %I, %p są używane do wyświetlenia pełnej nazwy dnia tygodnia, pełnej nazwy miesiąca, godzin w formacie 12-godzinnym i oznaczenia AM/PM odpowiednio. Czasami odrobina retro sprawia, że nawet najnowocześniejsze raporty są bardziej interesujące!

Typowe błędy i jak ich unikać

Jeśli chodzi o formatowanie, często spotykanym błędem jest niepoprawne użycie kodów formatowania. Na przykład zamiana małej litery m na dużą M przy wyświetlaniu minut lub miesięcy może prowadzić do zabawnych rezultatów. W takich momentach, gdyby kody od czasu do czasu nie działały poprawnie, proste formatowanie mogłoby zamienić się w komedię pomyłek.

Zawsze sprawdzaj swój format za pomocą dokumentacji Pythona strftime() i strptime(), jeśli masz wątpliwości co do składni.

Praktyczne zastosowanie formatowania

Wyobraź sobie, że piszesz skrypt, który zbiera statystyki z witryny internetowej co godzinę. Wszystkie dane są zapisywane w CSV, a każdy plik jest nazwany aktualną datą i czasem uruchomienia zbierania danych. Oto przykład, jak mógłbyś to zaimplementować:

Python

import os

def save_data(data):
    file_time = datetime.now().strftime("%Y%m%d_%H%M%S")
    file_name = f"data_{file_time}.csv"
    # Tutaj zamiast os rozdziel swoją logikę biznesową dla zapisu danych
    print(f"Dane zapisane w pliku: {file_name}")

# Symulacja danych i wywołania funkcji
dummy_data = "jakieś użyteczne dane"
save_data(dummy_data)

Zapisywanie plików z datami w ich nazwach nie tylko ułatwia organizację danych, ale również umożliwia ich szybkie odnalezienie w razie potrzeby.

Formatowanie dat i czasu to umiejętność otwierająca wiele drzwi w świecie automatyzacji. Twoje skrypty będą dokładniejsze, twoje raporty — bardziej zrozumiałe, a to jest po prostu frajda dla oka. Kto by pomyślał, że samo formatowanie może przynieść tyle radości?

Na tym kończymy nasz wykład. Nie zapomnij poćwiczyć różnych formatów, tworząc swoje unikalne raporty i logi. Do zobaczenia na następnym zajęciu, gdzie będziemy badać interwały czasowe i jak mogą one pomóc w automatyzacji zadań na podstawie czasu.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION