0Pricing
Ruby Academy · Lekcja

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:

  • %Y rok zapisany czterema cyframi, %y dwiema
  • %m numer miesiąca, %B pełna nazwa miesiąca
  • %d dzień miesiąca, %j dzień 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:

  • %H format 24-godzinny, %I format 12-godzinny
  • %M minuty, %S sekundy
  • %p AM/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ć parse w 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:

  • strftime formatuje dane za pomocą dyrektyw %
  • %Y %m %d %H %M %S %A %B oraz flagi
  • parse jest elastyczne, a strptime ścisłe
  • Należy używać iso8601 do 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

  1. Klasy czasu i daty
  2. Parsowanie i formatowanie
  3. Działania arytmetyczne na czasie
  4. Strefy czasowe
← Powrót do Ruby Academy