Classes de data e hora
Trabalhe com horários.
Classes de data e hora é uma aula grátis de Ruby Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ruby Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ruby Academy inclui 4 aulas no total.
A classe Time
A classe Time integrada ao Ruby representa um momento no tempo. Time.now fornece o horário atual, incluindo a data e a hora.
t = Time.now
puts t.class
puts(t.year)Criando um horário específico
Time.new (ou Time.local) cria um horário a partir de partes: ano, mês, dia, hora, minuto e segundo.
t = Time.new(2026, 5, 30, 14, 30, 0)
puts t.year
puts t.hour
puts t.minLendo os componentes do horário
Time expõe cada parte por meio de métodos como year, month, day, hour, min, sec e wday (dia da semana, 0 = domingo).
t = Time.new(2026, 5, 30)
puts(t.month)
puts(t.day)
puts(t.wday)Segundos desde a época Unix
Internamente, um Time é o número de segundos desde a época Unix (1º de janeiro de 1970, UTC). Use to_i para obtê-lo e Time.at para converter de volta.
secs = Time.new(2026, 1, 1, 0, 0, 0, '+00:00').to_i
puts secs
puts(Time.at(secs).utc.year)A classe Date
Para trabalhar com o calendário sem um horário, carregue a biblioteca date e use a classe Date.
require 'date'
d = Date.new(2026, 5, 30)
puts d.class
puts(d.to_s)Hoje e agora
Date.today fornece a data atual do calendário. DateTime.now também inclui a hora do dia.
require 'date'
puts(Date.today.class)
puts(DateTime.now.class)Dia da semana
Date oferece predicados e nomes legíveis para os dias da semana.
require 'date'
d = Date.new(2026, 5, 30)
puts(d.saturday?)
puts(d.wday)Data vs Hora vs DateTime
Escolha a classe certa:
Dateapenas a data do calendário, sem horárioTimeinstante preciso com fuso horário, de forma rápidaDateTimedata mais horário, parte da biblioteca de datas
O código Ruby moderno geralmente prefere Time.
require 'date'
puts(Date.new(2026, 5, 30))
puts(Time.new(2026, 5, 30, 9, 0).hour)Anos bissextos
Date.leap? informa se um ano é bissexto, o que afeta a duração de fevereiro.
require 'date'
puts(Date.leap?(2024))
puts(Date.leap?(2026))UTC e horário local
Um objeto Time pode estar no fuso local ou em UTC. utc converte para UTC, e localtime volta para o horário local. utc? verifica o modo atual.
t = Time.new(2026, 5, 30, 12, 0, 0, '+03:00')
puts(t.utc.hour)
puts(t.utc?)Comparando horários
Objetos Time e Date podem ser comparados com <, > e ==, portanto o senhor pode ordená-los ou verificar a ordem diretamente.
a = Time.new(2026, 1, 1)
b = Time.new(2026, 6, 1)
puts(a < b)
puts([b, a].min.month)Verificação rápida
Qual classe representa uma data do calendário sem componente de horário?
Recapitulação: classes Time e Date
O senhor aprendeu os principais tipos de data e hora:
Time.now/Time.newpara instantes- Componentes: ano, mês, dia, hora, min, seg, dia da semana
- Segundos desde a época por meio de
to_ieTime.at Date/DateTimeda biblioteca de datas- UTC e horário local, comparação e anos bissextos
require 'date'
puts(Date.today.year)Perguntas Frequentes
A aula “Classes de data e hora” é grátis?
Sim — o texto completo de “Classes de data e hora” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ruby Academy, atualize para CoddyKit PRO. O curso de Ruby Academy inclui 4 aulas no total.
O que vou aprender em “Classes de data e hora”?
Trabalhe com horários. Você pratica Ruby Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Ruby Academy?
Nenhuma experiência prévia é necessária. Ruby Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Classes de data e hora”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Ruby Academy?
Sim. Cada aula de Ruby Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Classes de data e hora
- Análise e formatação
- Aritmética de horários
- Fusos horários