Parsowanie i formatowanie
strftime i strptime
Parsowanie i formatowanie to bezpłatna lekcja Ruby 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 Ruby Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ruby Academy zawiera 4 lekcji w sumie.
Formatowanie za pomocą strftime
strftime przekształca obiekt Time lub Date w sformatowany ciąg znaków za pomocą dyrektyw formatu rozpoczynających się od %.
t = Time.new(2026, 5, 30, 14, 5, 9)
puts(t.strftime('%Y-%m-%d'))
puts(t.strftime('%H:%M:%S'))Typowe dyrektywy daty
Przydatne dyrektywy daty:
%Yrok zapisany czterema cyframi,%ydwiema%mnumer miesiąca,%Bpełna nazwa miesiąca%ddzień miesiąca,%jdzień roku
t = Time.new(2026, 5, 30)
puts(t.strftime('%B %d, %Y'))
puts(t.strftime('%y/%m/%d'))Typowe dyrektywy czasu
Przydatne dyrektywy zegara:
%Hformat 24-godzinny,%Iformat 12-godzinny%Mminuty,%Ssekundy%pAM/PM
t = Time.new(2026, 5, 30, 14, 30)
puts(t.strftime('%I:%M %p'))
puts(t.strftime('%H:%M'))Dni tygodnia i nazwy
%A oznacza pełną nazwę dnia tygodnia, a %a jej skrót. %b oznacza skróconą nazwę miesiąca.
t = Time.new(2026, 5, 30)
puts(t.strftime('%A'))
puts(t.strftime('%a %b %d'))Dopełnianie i flagi
Flagi należy umieszczać między % a dyrektywą: - usuwa dopełnianie, 0 dopełnia zerami, a _ dopełnia spacjami.
t = Time.new(2026, 5, 5, 9, 0)
puts(t.strftime('%-d/%-m'))
puts(t.strftime('%H:%M'))Dane wyjściowe ISO 8601
Aby uzyskać znaczniki czasu możliwe do wymiany między systemami, należy użyć iso8601 lub wzorca %FT%T%z. ISO 8601 jest standardem stosowanym w interfejsach API.
require 'time'
t = Time.new(2026, 5, 30, 14, 0, 0, '+00:00')
puts(t.utc.iso8601)Analizowanie za pomocą Date.parse
Date.parse odczytuje wiele popularnych formatów ciągów daty i odgaduje ich układ. Jest wygodne, ale pobłażliwe.
require 'date'
puts(Date.parse('2026-05-30'))
puts(Date.parse('30 May 2026'))Analizowanie za pomocą Time.parse
Należy dołączyć time, aby uzyskać Time.parse, które odczytuje pełne znaczniki czasu wraz z godziną.
require 'time'
t = Time.parse('2026-05-30 14:30:00')
puts(t.hour)
puts(t.min)Ścisłe analizowanie za pomocą strptime
Jeśli znają Państwo dokładny format, należy użyć strptime. Wykorzystuje ono te same dyrektywy co strftime i kończy działanie błędem dla niezgodnych danych wejściowych, co jest bezpieczniejsze.
require 'date'
d = Date.strptime('30/05/2026', '%d/%m/%Y')
puts(d.year)
puts(d.month)strptime dla obiektów Time
Time.strptime analizuje znacznik czasu w znanym formacie i tworzy na jego podstawie obiekt Time.
require 'time'
t = Time.strptime('2026-05-30 14:05', '%Y-%m-%d %H:%M')
puts(t.hour)
puts(t.min)parse a strptime
Praktyczna zasada:
- Należy używać
parsew przypadku elastycznego tekstu wprowadzanego przez użytkownika - Należy używać
strptime, gdy format jest stały i chcą Państwo odrzucać wszystkie inne dane
require 'date'
puts(Date.parse('May 30 2026').iso8601)
puts(Date.strptime('2026-05-30', '%Y-%m-%d').iso8601)Szybkie sprawdzenie
Która dyrektywa tworzy w strftime wartość w formacie 24-godzinnym, dopełnioną zerem?
Podsumowanie: analizowanie i formatowanie
Mogą Państwo konwertować ciągi znaków na daty i daty na ciągi znaków:
strftimeformatuje dane za pomocą dyrektyw%%Y %m %d %H %M %S %A %Boraz flagiparsejest elastyczne, astrptimeścisłe- Należy używać
iso8601do tworzenia danych wyjściowych przyjaznych dla API
require 'date'
puts(Date.strptime('2026-05-30', '%Y-%m-%d').strftime('%A, %B %-d'))Często zadawane pytania
Czy lekcja „Parsowanie i formatowanie” jest bezpłatna?
Tak — pełny tekst „Parsowanie i formatowanie” 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 Ruby Academy, przejdź na CoddyKit PRO. Kurs Ruby Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Parsowanie i formatowanie”?
strftime i strptime Ćwiczysz Ruby 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ąć Ruby Academy?
Nie wymagamy żadnego doświadczenia. Ruby 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 „Parsowanie i formatowanie”?
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 Ruby Academy?
Tak. Każda lekcja Ruby 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
- Klasy czasu i daty
- Parsowanie i formatowanie
- Działania arytmetyczne na czasie
- Strefy czasowe