Sådan beregner du arbejdsuger mellem to datoer (og hvorfor det er sværere end det ser ud til)
Du har to datoer og skal vide, hvor mange arbejdsuger der ligger mellem dem. Det lyder som et fem sekunders problem. Divider dagene med 7, træk nogle weekender fra — færdig.
Men det er det ikke, fordi "arbejdsuge" ikke er et præcist begreb. Alt efter hvad du beregner — en opsigelsesperiode, en projektplan, en ferieberettigelse, en kontraktvarighed — er den rigtige metode forskellig, og at bruge den forkerte kan være forkert med et par dage på måder, der betyder noget juridisk eller økonomisk.
Hvad er præcist en "arbejdsuge"?
En arbejdsuge betyder oftest fem dage: mandag til fredag. Men der er kanttilfælde værd at kende:
- Nogle industrier og lande bruger en 6-dages arbejdsuge (mandag–lørdag)
- Nogle roller har en komprimeret 4-dages arbejdsuge
- Mellemøsten bruger traditionelt søndag–torsdag, selvom de fleste lande nu er gået over til mandag–fredag
- Deltidsansatte kan have arbejdsuger på 2, 3 eller 4 dage
For resten af denne artikel betyder "arbejdsuge" en standard mandag–fredag uge medmindre andet er nævnt. Metoderne kan generaliseres, når du ved, hvilke arbejdsdage der gælder for din situation.
Metode 1: Hele arbejdsuger
Den enkleste fortolkning: hvor mange komplette mandag-til-fredag blokke passer mellem to datoer?
Det er hvad de fleste mener når de spørger "hvor mange ugers opsigelse er det?" En 4 ugers opsigelse betyder 4 komplette mandag–fredag blokke — 20 arbejdsdage — uanset hvor i ugen startdatoen ligger.
Beregningen:
1. Tæl de samlede kalenderdage mellem de to datoer 2. Træk weekenderne fra: hver 7-dages blok indeholder 2 weekenddage 3. Tag højde for partielle uger i begyndelsen og slutningen
I praksis er det lettere at tælle arbejdsdage direkte og dividere med 5:
arbejdsuger = arbejdsdage / 5
hvor arbejdsdage er antallet af mandag–fredag dage mellem de to datoer.
Eksempel: 7. april (mandag) til 2. maj (fredag)
- Kalenderdage: 25
- Weekender inden for området: 4 lørdage + 4 søndage = 8 dage
- Arbejdsdage: 25 − 8 = 17... vent, det er ikke rigtigt.
Den rigtige måde: tæl mandage gennem fredage inklusive:
- Uge 1: 7.–11. april (5 dage)
- Uge 2: 14.–18. april (5 dage)
- Uge 3: 21.–25. april (5 dage)
- Uge 4: 28. april–2. maj (5 dage)
I alt: 20 arbejdsdage = 4 arbejdsuger præcis.
Fordi eksemplet starter på en mandag og slutter på en fredag, går det glat op. Start eller slutning midt i ugen giver et brøkresultat, hvilket fører os til næste metode.
Metode 2: Arbejdsdage divideret med 5
For de fleste praktiske formål — projektplanlægning, tidsestimater, kapacitetsberegninger — behøver du ikke hele uger. Du behøver arbejdsdage, og du udtrykker resultatet som uger og dage.
Formlen:
samlede_arbejdsdage = (hele_uger × 5) + arbejdsdage_i_partiel_uge
uger = floor(samlede_arbejdsdage / 5)
restdage = samlede_arbejdsdage mod 5
Eksempel: 18. marts (onsdag) til 11. april (fredag)
Tæl arbejdsdage:
- 18. marts (ons) til 21. marts (fre): 4 dage
- 24.–28. marts: 5 dage
- 31. marts–4. april: 5 dage
- 7.–11. april: 5 dage
I alt: 19 arbejdsdage = 3 uger og 4 dage.
Denne metode er rigtig for projektplaner hvor du arbejder med kapacitet i dage, ikke kalenderduge.
Metode 3: ISO-ugespan
Nogle gange betyder "hvor mange uger mellem" hvor stor er forskellen i ISO-ugenumre?
Eksempel: En begivenhed løber fra ISO-uge 10 til ISO-uge 23. Det er 13 ISO-uger varighed.
Beregningen:
uge_span = (slutning_iso_år × 52,18) + slutning_iso_uge − (start_iso_år × 52,18) + start_iso_uge
I praksis, for datoer inden for samme år:
uge_span = slutning_iso_uge − start_iso_uge
For datoer, der går på tværs af et år, skal du tage højde for om startåret havde 52 eller 53 uger:
uge_span = (52_eller_53_for_start_år − start_iso_uge) + slutning_iso_uge
Denne metode er relevant for broadcast-planlægning, detailhandelsplanlægning og ethvert system der organiserer arbejde efter ISO-ugenummer i stedet for arbejdsdage.
Problemet med datoininklusion
En af de mest almindelige fejlkilder: om man skal tælle startdatoen, slutdatoen, begge eller ingen.
En "4 ugers opsigelse startende i dag" kan betyde:
- 4 uger fra i dag, hvor i dag er dag 1 (inklusive start): perioden slutter på samme ugedag, 4 uger senere
- 4 uger efter i dag (eksklusiv start): perioden slutter en dag senere end ovenfor
Arbejdsret i de fleste lande præciserer dette eksplicit. UK-arbejdsret tæller opsigelsesperioden fra dagen efter opsigelsen gives. I USA varierer det efter kontrakt.
Forskellen er én dag. I de fleste tilfælde betyder det ikke noget. I arbejdsretslige tvister eller kontraktophævelser kan det.
Sikker praksis: altid angiv "X arbejdsuger fra [dato], inklusive/eksklusiv." Lad det ikke være uklart.
Offentlige helligdage: Beregningen alle glemmer
Arbejdsuge-beregninger der ikke tager højde for offentlige helligdage er forkerte per definition — de vil overvurdere tilgængelig arbejdstid.
Udfordringen: offentlige helligdage er ikke standardiserede. De varierer efter:
- Land (julaften er 25. december i Storbritannien; det er ikke en offentlig helligdag i Japan)
- Region inden for et land (amerikanske stater har forskellige helligdage; England og Skotland har forskellige bankhelligdage)
- År (bevægelige højtider som påske ændrer dato hvert år)
- Ansættelseskontrakt (nogle jobs har ekstra helligdage; nogle offentlige ansatte holder på forskellige datoer)
For grove estimater — "det er omkring 6 arbejdsuger" — er det fint at ignorere helligdage. For præcise beregninger — kontraktfrister, opsigelsesperioder, juridiske frister — skal du trække de relevante offentlige helligdage fra.
Ingen lommeregner kan gøre dette automatisk for dig uden at kende din jurisdiktion og det specifikke år. Dagekalkulatoren viser dig antallet af arbejdsdage eksklusiv weekender; du trækker dine lokale offentlige helligdage fra manuelt.
Et brugbart estimat for Storbritannien: der er omkring 8 bankhelligdage pr. år, cirka 1,6 pr. måned. For en 3-måneders beregning er det omkring 5 helligdage at trække fra. For amerikanske føderale helligdage: 11 pr. år, cirka 0,9 pr. måned.
Opsigelsesperioder: Hvordan matematik faktisk virker
Ansættelseskontrakter angiver opsigelsesperioder som uger eller måneder. At konvertere disse til arbejdsdage er hvor fejl sker oftest.
"4 ugers opsigelse" betyder 4 kalenderduge (28 dage), ikke 4 × 5 = 20 arbejdsdage. Hvis opsigelse gives på en tirsdag, løber den i 28 kalenderdage — som indeholder weekender. Den sidste dag i opsigelsesperioden er tirsdagen 4 uger senere.
Dette overrasker folk fordi de forventer "4 uger" betyder 20 arbejdsdage. Det gør det ikke — det betyder 28 kalenderdage, og weekenderne inden for det tælles stadig som opsigelsesperiode, selvom du ikke arbejder dem.
"1 måneds opsigelse" er endnu mindre præcis. En måned fra 15. januar er 15. februar. En måned fra 31. januar er 28. februar (eller 29 i et skudår). Antallet af kalenderdage varierer fra 28 til 31. Antallet af arbejdsdage inden for den måned varierer fra 20 til 23.
Arbejdsuger mod kalenderduge i kontrakter:
Hvis en kontrakt siger "4 arbejdsugers opsigelse," betyder det 20 arbejdsdage — mandag til fredag kun. Weekender tælles ikke. I det tilfælde ville en opsigelse startende tirsdag løbe i 20 arbejdsdage, og slutte flere kalenderduge senere afhængig af hvor mange weekender der falder inden for perioden.
Tjek altid om din kontrakt siger "uger" eller "arbejdsuger." Forskellen kan være 8–10 dage over en typisk opsigelsesperiode.
Projektplaner: Arbejdsuge mod kalenderduge
I projektledelse er "3 ugers arbejde" og "3 kalenderduge" ikke det samme.
3 ugers arbejde ved fuld kapacitet = 15 persondage arbejde. Hvis en opgave er 3 ugers arbejde for en person der arbejder fuld tid, tager det 3 kalenderduge. Hvis to personer deler det, tager det 1,5 kalenderduge. Hvis en person er ved 50 % kapacitet, tager det 6 kalenderduge.
3 kalenderduge = 15 arbejdsdage forudsat ingen helligdage, ingen har deltid, og der er ingen kontekstskiftoverhead.
Skelnen betyder noget når man planlægger leveringsdatoer. Hvis du siger til en interessent at en feature tager "3 uger" og du mener arbejdsuger ved 80 % kapacitet med en bankhelligdag i midten, er kalenderstartdatoen helt anderledes end hvad de forestiller sig.
Når du citerer tidsplaner:
- Angiv arbejdsdage, ikke uger, for opgaver kortere end en måned
- Angiv kalenderstartdatoen som en fornuftighedskontrol
- Note eksplicit alle helligdage inden for perioden
Beregning af arbejdsuger i kode
Python:
from datetime import date, timedelta
def working_days(start: date, end: date) -> int:
total = 0
current = start
while current <= end:
if current.weekday() < 5: # 0=man, 4=fre
total += 1
current += timedelta(days=1)
return total
def working_weeks(start: date, end: date) -> float:
return working_days(start, end) / 5
# Eksempel
start = date(2026, 4, 7)
end = date(2026, 5, 2)
print(working_days(start, end)) # 20
print(working_weeks(start, end)) # 4.0
For store datointervaller er en hurtigere tilgang at bruge modulær aritmetik for at undgå løkker:
def working_days_fast(start: date, end: date) -> int:
days = (end - start).days + 1
full_weeks, remainder = divmod(days, 7)
working = full_weeks * 5
# Tæl arbejdsdage i partiell uge
start_dow = start.weekday() # 0=man
for i in range(remainder):
if (start_dow + i) % 7 < 5:
working += 1
return working
JavaScript:
function workingDays(start, end) {
let count = 0
const current = new Date(start)
while (current <= end) {
const day = current.getDay()
if (day !== 0 && day !== 6) count++ // 0=søn, 6=lørd
current.setDate(current.getDate() + 1)
}
return count
}
function workingWeeks(start, end) {
return workingDays(start, end) / 5
}
SQL (PostgreSQL):
-- Arbejdsdage mellem to datoer (eksklusiv weekender)
SELECT
(EXTRACT(DOW FROM end_date) - EXTRACT(DOW FROM start_date))::int +
((end_date - start_date) / 7) * 5 +
CASE WHEN EXTRACT(DOW FROM start_date) = 0 THEN 1 ELSE 0 END +
CASE WHEN EXTRACT(DOW FROM end_date) = 6 THEN -1 ELSE 0 END
AS working_days
FROM (SELECT DATE '2026-04-07' AS start_date, DATE '2026-05-02' AS end_date) t;
Hurtig reference
| Hvad du vil have | Metode |
|---|---|
| Opsigelsesperiode varighed | Kalenderdage (weekender tælles) |
| Projektarbejdskapacitet | Arbejdsdage (man–fre), divider med 5 for uger |
| Broadcast/detailhandelsplanlægning | ISO-ugespan |
| Ferieberettigelse | Arbejdsdage, træk offentlige helligdage fra |
| Kontraktfrister | Kalenderdage medmindre kontrakten siger "arbejdsdage" |
Dagekalkulatoren viser både kalenderdage og arbejdsdage for ethvert datointervall — nyttigt som udgangspunkt før du justerer for offentlige helligdage i din jurisdiktion.


