Aritmetica temporale
Durate e differenze
Aritmetica temporale è una lezione Ruby Academy gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Ruby Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Ruby Academy include 4 lezioni in totale.
Aggiungere secondi a un oggetto Time
L'aritmetica con Time funziona in secondi. Aggiungere un numero a un oggetto Time lo sposta in avanti di quel numero di secondi.
t = Time.new(2026, 5, 30, 12, 0, 0)
later = t + 60
puts(later.min)Sottrarre secondi
Sottrarre un numero sposta un oggetto Time indietro di quel numero di secondi.
t = Time.new(2026, 5, 30, 12, 0, 0)
earlier = t - 3600
puts(earlier.hour)Durate leggibili
Esprima le durate come prodotti di secondi, così l'intento è chiaro: 60 secondi, 60 * 60 un'ora, 24 * 60 * 60 un giorno.
day = 24 * 60 * 60
t = Time.new(2026, 5, 30)
puts((t + day).day)Differenza tra due oggetti Time
Sottraendo un oggetto Time da un altro si ottiene un Float di secondi tra i due.
a = Time.new(2026, 5, 30, 12, 0, 0)
b = Time.new(2026, 5, 30, 13, 30, 0)
diff = b - a
puts(diff)
puts(diff / 60)Convertire una durata
Converta una differenza espressa in secondi in ore e minuti usando l'aritmetica intera.
secs = 5400
puts("#{secs / 3600}h #{(secs % 3600) / 60}m")Aritmetica delle date in giorni
A differenza di Time, la classe Date aggiunge in giorni. Aggiungere un intero sposta la data in avanti di quel numero di giorni.
require 'date'
d = Date.new(2026, 5, 30)
puts((d + 5).to_s)Differenza tra due date
Sottraendo due oggetti Date si ottiene un numero Rational di giorni. Chiami to_i per ottenere il numero di giorni interi.
require 'date'
a = Date.new(2026, 1, 1)
b = Date.new(2026, 12, 31)
puts((b - a).to_i)Spostare mesi e anni
La classe Date offre next_month, prev_month, next_year e gli operatori >> / << per spostarsi tra i mesi in sicurezza.
require 'date'
d = Date.new(2026, 5, 30)
puts(d.next_month.to_s)
puts((d >> 3).to_s)Sicurezza alla fine del mese
Lo spostamento tra i mesi limita il risultato alle date valide. Aggiungendo un mese al 31 gennaio si arriva all'ultimo giorno valido di febbraio, mai a una data non valida.
require 'date'
d = Date.new(2026, 1, 31)
puts((d >> 1).to_s)Contare i giorni mancanti
Un'attività comune è calcolare quanti giorni mancano a una data futura. Sottragga la data odierna dalla data obiettivo.
require 'date'
target = Date.new(2026, 12, 25)
from = Date.new(2026, 5, 30)
puts("#{(target - from).to_i} days to go")Misurare il tempo trascorso
Per misurare la durata dell'esecuzione del codice, acquisisca Time.now prima e dopo, quindi calcoli la differenza.
start = Time.now
sum = 0
1000.times { |i| sum += i }
puts("sum=#{sum}")
puts((Time.now - start) >= 0)Verifica rapida
Quando si sottrae un Time da un altro, che cosa restituisce Ruby?
Riepilogo: aritmetica con Time
Ora può eseguire calcoli con il tempo:
- Time somma e sottrae in secondi
- Date somma e sottrae in giorni
- Time meno Time restituisce secondi (
Float) - Date meno Date restituisce giorni (
Rational) next_month,>>,<<spostano i mesi in sicurezza
require 'date'
puts((Date.new(2026,6,1) - Date.new(2026,5,1)).to_i)Domande Frequenti
La lezione «Aritmetica temporale» è gratuita?
Sì — il testo completo di «Aritmetica temporale» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Ruby Academy, passa a CoddyKit PRO. Il corso Ruby Academy include 4 lezioni in totale.
Cosa imparerò in «Aritmetica temporale»?
Durate e differenze Eserciti Ruby Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Ruby Academy?
Non è richiesta alcuna esperienza precedente. Ruby Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Aritmetica temporale»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Ruby Academy?
Sì. Ogni lezione Ruby Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Classi per data e ora
- Parsing e formattazione
- Aritmetica temporale
- Fusi orari