Ruby Academy · Lektion

Tidaritmetik

Varaktigheter och skillnader.

Lektion 3 av 413 steg

Tidaritmetik är en gratis lektion i Ruby Academy på CoddyKit. Detta är lektion 3 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Ruby Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Ruby Academy innehåller totalt 4 lektioner.

Lägga till sekunder i en Time

Time-aritmetik fungerar i sekunder. Om Du adderar ett tal till ett Time-värde flyttas det framåt med så många sekunder.

t = Time.new(2026, 5, 30, 12, 0, 0)
later = t + 60
puts(later.min)

Subtrahera sekunder

Om Du subtraherar ett tal flyttas ett Time-värde bakåt med så många sekunder.

t = Time.new(2026, 5, 30, 12, 0, 0)
earlier = t - 3600
puts(earlier.hour)

Lättlästa varaktigheter

Uttryck varaktigheter som produkter av sekunder så att avsikten blir tydlig: 60 sekunder, 60 * 60 en timme och 24 * 60 * 60 en dag.

day = 24 * 60 * 60
t = Time.new(2026, 5, 30)
puts((t + day).day)

Skillnaden mellan två tider

Om Du subtraherar en Time från en annan får Du ett Float-värde i sekunder mellan dem.

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)

Konvertera en varaktighet

Omvandla en rå skillnad i sekunder till timmar och minuter med heltalsaritmetik.

secs = 5400
puts("#{secs / 3600}h #{(secs % 3600) / 60}m")

Datumaritmetik i dagar

Till skillnad från Time adderar Date-klassen i dagar. Om Du adderar ett heltal flyttas datumet framåt med så många dagar.

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

Skillnaden mellan två datum

Om Du subtraherar två Date-värden returneras ett Rational-tal som anger antalet dagar. Anropa to_i för att få ett helt antal dagar.

require 'date'
a = Date.new(2026, 1, 1)
b = Date.new(2026, 12, 31)
puts((b - a).to_i)

Förskjuta månader och år

Date-klassen har next_month, prev_month, next_year och operatorerna >> / << för att säkert förskjuta datum med hela månader.

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

Säkra månadsslut

Förskjutning av månader begränsas till giltiga datum. Om Du lägger till en månad till den 31 januari hamnar resultatet på den sista giltiga dagen i februari, aldrig på ett ogiltigt datum.

require 'date'
d = Date.new(2026, 1, 31)
puts((d >> 1).to_s)

Räkna dagar fram till ett datum

En vanlig uppgift är att beräkna hur många dagar det är fram till ett framtida datum. Subtrahera dagens datum från måldatumet.

require 'date'
target = Date.new(2026, 12, 25)
from = Date.new(2026, 5, 30)
puts("#{(target - from).to_i} days to go")

Mäta förfluten tid

Om Du vill mäta hur lång tid kod tar, hämtar Du Time.now före och efter körningen och subtraherar sedan värdena.

start = Time.now
sum = 0
1000.times { |i| sum += i }
puts("sum=#{sum}")
puts((Time.now - start) >= 0)

Snabbtest

Vad returnerar Ruby när Du subtraherar en Time från en annan?

Sammanfattning: Tidsaritmetik

Nu kan Du beräkna med tid:

  • Time adderar och subtraherar i sekunder
  • Date adderar och subtraherar i dagar
  • Time minus Time ger sekunder (Float)
  • Date minus Date ger dagar (Rational)
  • next_month, >>, << förskjuter månader säkert
require 'date'
puts((Date.new(2026,6,1) - Date.new(2026,5,1)).to_i)
Gratis att börja

Lär dig Ruby med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
29
Lektioner
109

Vanliga frågor

Är lektionen ”Tidaritmetik” gratis?

Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Ruby Academy, inklusive ”Tidaritmetik”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Ruby Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Tidaritmetik”?

Varaktigheter och skillnader. Ni övar på Ruby Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Ruby Academy?

Du behöver inga förkunskaper. Utbildningen i Ruby Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.

Hur lång tid tar lektionen ”Tidaritmetik”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Ruby Academy-lektionen?

Ja. Varje Ruby Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Klasser för tid och datum
  2. Parsa och formatera
  3. Tidaritmetik
  4. Tidszoner
← Tillbaka till Ruby Academy