0Pricing
Ruby Academy · Урок

Классы времени и даты

Работайте со временем

«Классы времени и даты» — бесплатный урок Ruby Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ruby Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ruby Academy содержит 4 уроков всего.

Класс времени

Встроенный класс Ruby Time представляет момент времени. Time.now возвращает текущие дату и время.

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

Создание конкретного момента времени

Time.new (или Time.local) создаёт момент времени из отдельных компонентов: года, месяца, дня, часа, минуты и секунды.

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

Чтение компонентов времени

Время предоставляет доступ к каждой части через такие методы, как year, month, day, hour, min, sec и wday (день недели, где 0 = воскресенье).

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

Секунды эпохи

Внутренне момент времени представляет собой число секунд с начала эпохи Unix (1 января 1970 года по UTC). Используйте to_i, чтобы получить это число, и Time.at, чтобы преобразовать его обратно.

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

Класс даты

Для работы с календарными датами без времени подключите библиотеку date и используйте класс Date.

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

Сегодня и сейчас

Date.today возвращает текущую календарную дату. DateTime.now также включает время суток.

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

День недели

Date предоставляет понятные предикаты и названия дней недели.

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

Date, Time и DateTime

Выберите подходящий класс:

  • Date — только календарная дата, без времени суток
  • Time — точный момент времени с часовым поясом, работает быстро
  • DateTime — дата и время, часть библиотеки для работы с датами

В современном коде Ruby обычно предпочитают Time.

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

Високосные годы

Date.leap? сообщает, является ли год високосным, а от этого зависит продолжительность февраля.

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

UTC и местное время

Значение Time может находиться в местном часовом поясе или в UTC. utc преобразует его в UTC, а localtime — обратно в местное время. utc? проверяет текущий режим.

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

Сравнение моментов времени

Объекты Time и Date можно сравнивать с помощью <, > и ==, поэтому их можно сортировать или напрямую проверять их порядок.

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

Быстрая проверка

Какой класс представляет календарную дату без компонента времени суток?

Повторение: классы Time и Date

Вы изучили основные типы для работы с датами и временем:

  • Time.now / Time.new для представления моментов времени
  • Компоненты: год, месяц, день, час, минута, секунда, день недели
  • Секунды эпохи с помощью to_i и Time.at
  • Date / DateTime из библиотеки для работы с датами
  • UTC и местное время, сравнение и високосные годы
require 'date'
puts(Date.today.year)

Часто задаваемые вопросы

Урок «Классы времени и даты» бесплатный?

Да — полный текст урока «Классы времени и даты» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ruby Academy, подпишись на CoddyKit PRO. Курс Ruby Academy содержит 4 уроков всего.

Чему я научусь в уроке «Классы времени и даты»?

Работайте со временем Ты практикуешь Ruby Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Ruby Academy?

Предыдущий опыт не требуется. Ruby Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Классы времени и даты»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Ruby Academy?

Да. Каждый урок Ruby Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Классы времени и даты
  2. Разбор и форматирование
  3. Арифметика времени
  4. Часовые пояса
← Назад к Ruby Academy