0Pricing
Ruby Academy · Lekcja

Klasy czasu i daty

Praca z czasem

Klasy czasu i daty to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 1 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.

Klasa Time

Wbudowana w Ruby klasa Time reprezentuje konkretny moment. Time.now zwraca bieżący czas wraz z datą i godziną.

t = Time.now
puts t.class
puts(t.year)

Tworzenie określonego czasu

Time.new (lub Time.local) tworzy obiekt czasu na podstawie jego części: roku, miesiąca, dnia, godziny, minuty i sekundy.

t = Time.new(2026, 5, 30, 14, 30, 0)
puts t.year
puts t.hour
puts t.min

Odczytywanie składników czasu

Klasa Time udostępnia poszczególne składniki za pomocą metod takich jak year, month, day, hour, min, sec i wday (dzień tygodnia, 0 = niedziela).

t = Time.new(2026, 5, 30)
puts(t.month)
puts(t.day)
puts(t.wday)

Sekundy epoki

Wewnętrznie obiekt Time reprezentuje liczbę sekund od epoki uniksowej (1 stycznia 1970 roku UTC). Za pomocą to_i można uzyskać tę wartość, a za pomocą Time.at przekonwertować ją z powrotem.

secs = Time.new(2026, 1, 1, 0, 0, 0, '+00:00').to_i
puts secs
puts(Time.at(secs).utc.year)

Klasa Date

Do operacji na kalendarzu bez uwzględniania godziny należy załadować bibliotekę date i użyć klasy Date.

require 'date'
d = Date.new(2026, 5, 30)
puts d.class
puts(d.to_s)

Dzisiaj i teraz

Date.today zwraca bieżącą datę kalendarzową. DateTime.now zawiera również bieżącą porę dnia.

require 'date'
puts(Date.today.class)
puts(DateTime.now.class)

Dzień tygodnia

Date udostępnia czytelne predykaty i nazwy dni tygodnia.

require 'date'
d = Date.new(2026, 5, 30)
puts(d.saturday?)
puts(d.wday)

Date a Time i DateTime

Należy wybrać właściwą klasę:

  • Date tylko data kalendarzowa, bez godziny
  • Time dokładny moment z informacją o strefie czasowej, szybka w działaniu
  • DateTime data wraz z godziną, część biblioteki date

W nowoczesnym kodzie Ruby zwykle preferuje się Time.

require 'date'
puts(Date.new(2026, 5, 30))
puts(Time.new(2026, 5, 30, 9, 0).hour)

Lata przestępne

Date.leap? informuje, czy dany rok jest przestępny, co wpływa na długość lutego.

require 'date'
puts(Date.leap?(2024))
puts(Date.leap?(2026))

UTC i czas lokalny

Obiekt Time może działać w lokalnej strefie czasowej lub w UTC. utc konwertuje czas na UTC, a localtime z powrotem na czas lokalny. utc? sprawdza bieżący tryb.

t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.utc.hour)
puts(t.utc?)

Porównywanie obiektów Time

Obiekty Time i Date można porównywać za pomocą operatorów <, > i ==, dzięki czemu można je bezpośrednio sortować lub sprawdzać ich kolejność.

a = Time.new(2026, 1, 1)
b = Time.new(2026, 6, 1)
puts(a < b)
puts([b, a].min.month)

Szybkie sprawdzenie

Która klasa reprezentuje datę kalendarzową bez składnika określającego porę dnia?

Podsumowanie: klasy Time i Date

Poznali Państwo podstawowe typy daty i czasu:

  • Time.now / Time.new do reprezentowania momentów
  • Składniki: rok, miesiąc, dzień, godzina, min, sek, wday
  • Sekundy od epoki za pomocą to_i i Time.at
  • Date / DateTime z biblioteki date
  • UTC i czas lokalny, porównywanie oraz lata przestępne
require 'date'
puts(Date.today.year)

Często zadawane pytania

Czy lekcja „Klasy czasu i daty” jest bezpłatna?

Tak — pełny tekst „Klasy czasu i daty” 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 „Klasy czasu i daty”?

Praca z czasem Ć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 1 z 4.

Ile czasu zajmuje lekcja „Klasy czasu i daty”?

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