Arithmétique temporelle
Durées et différences
Arithmétique temporelle est une leçon Ruby Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ruby Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ruby Academy comprend 4 leçons au total.
Ajouter des secondes à un objet Time
Les opérations arithmétiques sur Time s'effectuent en secondes. Ajouter un nombre à un objet Time le fait avancer du nombre de secondes correspondant.
t = Time.new(2026, 5, 30, 12, 0, 0)
later = t + 60
puts(later.min)Soustraire des secondes
Soustraire un nombre fait reculer un objet Time du nombre de secondes correspondant.
t = Time.new(2026, 5, 30, 12, 0, 0)
earlier = t - 3600
puts(earlier.hour)Durées lisibles
Exprimez les durées comme des produits de secondes afin de rendre l'intention claire : 60 secondes, 60 * 60 une heure, 24 * 60 * 60 un jour.
day = 24 * 60 * 60
t = Time.new(2026, 5, 30)
puts((t + day).day)Différence entre deux objets Time
Soustraire un objet Time d'un autre donne un nombre à virgule flottante de secondes les séparant.
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)Convertir une durée
Convertissez une différence brute en secondes en heures et en minutes à l'aide de l'arithmétique entière.
secs = 5400
puts("#{secs / 3600}h #{(secs % 3600) / 60}m")Arithmétique des dates en jours
Contrairement à Time, la classe Date effectue les additions en jours. Ajouter un entier fait avancer la date du nombre de jours correspondant.
require 'date'
d = Date.new(2026, 5, 30)
puts((d + 5).to_s)Différence entre deux dates
Soustraire deux objets Date renvoie un nombre Rational de jours. Appelez to_i pour obtenir un nombre entier de jours.
require 'date'
a = Date.new(2026, 1, 1)
b = Date.new(2026, 12, 31)
puts((b - a).to_i)Décaler des mois et des années
La classe Date fournit next_month, prev_month, next_year ainsi que les opérateurs >> / << pour décaler des mois en toute sécurité.
require 'date'
d = Date.new(2026, 5, 30)
puts(d.next_month.to_s)
puts((d >> 3).to_s)Sécurité en fin de mois
Le décalage de mois se limite aux dates valides. Ajouter un mois au 31 janvier donne le dernier jour valide de février, jamais une date invalide.
require 'date'
d = Date.new(2026, 1, 31)
puts((d >> 1).to_s)Compter les jours restants
Une tâche courante consiste à déterminer le nombre de jours avant une date ultérieure. Soustrayez la date d'aujourd'hui de la date cible.
require 'date'
target = Date.new(2026, 12, 25)
from = Date.new(2026, 5, 30)
puts("#{(target - from).to_i} days to go")Mesurer le temps écoulé
Pour mesurer la durée d'exécution du code, capturez Time.now avant et après, puis effectuez la soustraction.
start = Time.now
sum = 0
1000.times { |i| sum += i }
puts("sum=#{sum}")
puts((Time.now - start) >= 0)Vérification rapide
Que renvoie Ruby lorsque vous soustrayez un objet Time d'un autre ?
Récapitulatif : arithmétique sur le temps
Vous pouvez maintenant effectuer des calculs avec le temps :
- Time additionne et soustrait des secondes
- Date additionne et soustrait des jours
- Time moins Time donne des secondes (nombre à virgule flottante)
- Date moins Date donne des jours (nombre rationnel)
next_month,>>et<<décalent les mois en toute sécurité
require 'date'
puts((Date.new(2026,6,1) - Date.new(2026,5,1)).to_i)Questions Fréquemment Posées
La leçon « Arithmétique temporelle » est-elle gratuite ?
Oui — le texte complet de « Arithmétique temporelle » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ruby Academy, passe à CoddyKit PRO. Le cours Ruby Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Arithmétique temporelle » ?
Durées et différences Tu pratiques Ruby Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ruby Academy ?
Aucune expérience préalable n'est requise. Ruby Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Arithmétique temporelle » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ruby Academy ?
Oui. Chaque leçon Ruby Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Classes de date et d’heure
- Analyse et formatage
- Arithmétique temporelle
- Fuseaux horaires