Formatowanie dat
Utworzy Pan/Pani czytelne napisy z datami.
Formatowanie dat to bezpłatna lekcja Lua Academy na CoddyKit. To lekcja 2 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 Lua Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Lua Academy zawiera 4 lekcji w sumie.
Kształtowanie wyniku
Wiadomo już, że os.date może formatować czas. Ta lekcja skupia się na samym łańcuchu formatu: niewielkich kodach %, które dokładnie określają sposób wyświetlania daty.
Opanowanie tych kodów pozwala tworzyć daty w dowolnym stylu — od 2024-03-09 po Saturday, March 9.
print(os.date("%Y-%m-%d"))Rok, miesiąc, dzień
Podstawowe kody daty to %Y dla roku zapisanego za pomocą 4 cyfr, %m dla miesiąca zapisanego za pomocą 2 cyfr (01–12) oraz %d dla dnia zapisanego za pomocą 2 cyfr (01–31).
Wszystko, co nie jest kodem, na przykład znajdujące się tutaj myślniki, jest wypisywane dokładnie tak, jak zostało zapisane.
print(os.date("%Y/%m/%d"))
print(os.date("%d-%m-%Y"))Godziny, minuty, sekundy
Do formatowania godziny należy użyć %H dla godziny w formacie 24-godzinnym (00–23), %M dla minut oraz %S dla sekund.
Każda z tych wartości zajmuje dwie cyfry; w razie potrzeby na początku dodawane jest zero, dzięki czemu godziny są zawsze równo wyrównane.
print(os.date("%H:%M:%S"))Zegar 12-godzinny
Jeśli potrzebny jest format AM/PM, należy użyć %I dla godziny w formacie 12-godzinnym (01–12) oraz %p dla oznaczenia AM lub PM.
Połączenie tych kodów pozwala uzyskać przyjazny zapis, taki jak 03:45 PM, który wiele osób uważa za łatwiejszy do odczytania.
print(os.date("%I:%M %p"))Nazwy dni
Lua może wypisywać pełne nazwy dni tygodnia. %A zwraca pełną nazwę, na przykład Monday, a %a — skróconą, na przykład Mon.
Nazwy te zależą od ustawień regionalnych systemu, dlatego pojawiają się w języku skonfigurowanym na komputerze.
print(os.date("%A"))
print(os.date("%a"))Nazwy miesięcy
Miesiące działają tak samo. %B zwraca pełną nazwę miesiąca, na przykład March, a %b — skróconą, na przykład Mar.
Połączenie nazw z liczbami pozwala utworzyć łańcuch daty w formacie przypominającym nagłówek.
print(os.date("%B %d, %Y"))Przyjazna pełna data
Łącząc kody ze zwykłym tekstem, można zapisać niemal dowolne zdanie. W tym przypadku dzień tygodnia, miesiąc, dzień i rok tworzą czytelny wiersz.
Przecinek i spacje są zwykłymi znakami umieszczonymi między kodami.
print(os.date("%A, %B %d, %Y"))Formatowanie zapisanego czasu
Formatowanie nie musi dotyczyć wyłącznie bieżącego czasu. Przekazanie zapisanej liczby czasu jako drugiego argumentu pozwala sformatować dowolny moment w ten sam sposób.
Właśnie tak dzienniki pokazują, kiedy nastąpiło każde wcześniejsze zdarzenie.
local t = os.time({year=2022, month=12, day=25})
print(os.date("%A, %B %d, %Y", t))Dzień roku i tygodnia
Kilka dodatkowych kodów przydaje się do zliczania. %j zwraca dzień roku (001–366), a %w zwraca numer dnia tygodnia, przy czym niedziela ma wartość 0.
Kody te pomagają w tworzeniu pasków postępu i logiki planowania.
local t = os.time({year=2024, month=2, day=1})
print("Day of year:", os.date("%j", t))
print("Weekday num:", os.date("%w", t))Znak procentu jako tekst
Jeśli wynik ma zawierać dosłowny znak procentu, należy zapisać %%, a Lua wypisze pojedynczy znak %.
Zapobiega to niejasnościom, gdy symbol procentu znajduje się obok kodu formatu.
print(os.date("Loaded 100%% on %Y-%m-%d"))Budowanie nazw plików
Popularnym rozwiązaniem jest umieszczenie znacznika czasu w nazwie pliku. Kody takie jak %Y%m%d_%H%M%S tworzą sortowalny ciąg bez spacji.
Pliki nazwane w ten sposób są automatycznie porządkowane chronologicznie w dowolnym folderze.
local name = os.date("backup_%Y%m%d.txt")
print(name)Szybkie sprawdzenie
Proszę wybrać właściwy kod do danego zadania.
Podsumowanie
Łańcuchy formatu łączą kody % ze zwykłym tekstem. Najważniejsze kody to: %Y %m %d dla daty, %H %M %S dla czasu oraz %A %B dla nazw.
Należy użyć %I %p dla formatu 12-godzinnego, %% dla dosłownego znaku procentu oraz przekazać liczbę czasu, aby sformatować wcześniejsze momenty. Dzięki nim można kształtować daty w dowolny sposób.
Często zadawane pytania
Czy lekcja „Formatowanie dat” jest bezpłatna?
Tak — pełny tekst „Formatowanie dat” 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 Lua Academy, przejdź na CoddyKit PRO. Kurs Lua Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Formatowanie dat”?
Utworzy Pan/Pani czytelne napisy z datami. Ćwiczysz Lua 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ąć Lua Academy?
Nie wymagamy żadnego doświadczenia. Lua 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 2 z 4.
Ile czasu zajmuje lekcja „Formatowanie dat”?
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 Lua Academy?
Tak. Każda lekcja Lua 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
- os.time i os.date
- Formatowanie dat
- Operacje na czasie
- Mierzenie czasu trwania