Danish, like English, has two main ways to talk about the past: the datid (simple past — spiste, så, var) and the perfektum (present perfect — har spist, har set, har været). They overlap enough to feel interchangeable, but they are not, and choosing wrong is one of the most persistent B1 errors. The good news: Danish has an unusually clean decision rule, cleaner than English's, and this page hands it to you.
The two tenses at a glance
| Tense | Danish name | Form | Example |
|---|---|---|---|
| Simple past | datid | past form of the verb | jeg spiste — I ate |
| Present perfect | perfektum | har/er
| jeg har spist — I have eaten |
Both refer to past time. The difference is how the past time relates to now.
What datid does: definite, completed past
Use the datid for an action seen as finished, located in the past, and especially when you anchor it to a specific past time — yesterday, last week, in 2019, at three o'clock, when I was a child. The datid plants the event at a point in the past and leaves it there:
I går spiste jeg på en thairestaurant.
Yesterday I ate at a Thai restaurant.
Vi flyttede til Odense i 2019.
We moved to Odense in 2019.
Da jeg var barn, boede vi på landet.
When I was a child, we lived in the countryside.
In each case there is a definite past time frame, and the event is over. This is the datid's home territory.
What perfektum does: present relevance, unspecified time
Use the perfektum when the past action connects to now — when it is recent, when it has a present result, when you are talking about experience ("have you ever…"), or when the time is simply unspecified:
Jeg har spist, så jeg er ikke sulten.
I've eaten, so I'm not hungry. (present result)
Har du nogensinde været i Spanien?
Have you ever been to Spain? (experience, no specific time)
Hun er lige gået.
She's just left. (recent, present-relevant — note: gå takes er in the perfect)
The perfektum keeps one foot in the present. Jeg har spist is not really about when you ate; it is about the present fact that you are now fed. Har du været i Spanien? asks about your lifetime experience up to now, not about a particular trip.
The one clean test: a definite past-time adverbial forces datid
Here is the rule that resolves almost every case. If the sentence contains a specific, definite past-time adverbial, you must use the datid — the adverbial blocks the perfect.
Definite past-time adverbials include: i går (yesterday), i forgårs, sidste år/uge/måned (last year/week/month), for to dage siden (two days ago), i 2019, klokken otte (at eight), dengang (back then), da jeg var ung (when I was young).
Jeg så filmen i går.
I saw the film yesterday. (definite past time → datid)
Jeg har set filmen.
I've seen the film. (no time given → perfektum, an experience)
Same verb, same film — but i går in the first sentence forces så, while the second, with no time anchor, naturally takes the perfect. You cannot combine them: a definite past-time adverbial and the perfect repel each other.
Vi mødtes for tre år siden.
We met three years ago. (for tre år siden = definite past → datid)
De rejste til Berlin sidste weekend.
They travelled to Berlin last weekend. (sidste weekend → datid)
Where Danish differs from English
English speakers think they already know this distinction — and mostly they do, because English works similarly ("I saw it yesterday," not "I have seen it yesterday"). But two things trip them up.
First, English sometimes tolerates the perfect with vaguer time words ("I've done it today," "I've seen him this morning") where Danish is stricter about the definite-time rule. If the time frame is genuinely a closed, definite past, Danish leans hard on the datid.
Second — and this is the bigger trap — English speakers carry over the perfect into Danish in places where spoken Danish simply prefers the datid for recent, definite events, especially with an explicit time. The safest habit: the moment you write or say i går, sidste …, or a clock time, switch your verb to the datid.
Jeg ringede til dig klokken tre.
I called you at three. (clock time → datid)
Har du talt med lægen endnu?
Have you talked to the doctor yet? (yet = up to now → perfektum)
Note endnu ("yet") and allerede ("already") and nogensinde ("ever") pull toward the perfektum, because they relate the past to the present moment — the mirror image of the definite-time adverbials.
Choosing in three steps
- Is there a definite past-time adverbial (i går, sidste uge, i 2019, a clock time)? → datid. Stop here.
- Are you asking/stating about experience or present relevance (nogensinde, endnu, allerede, "and so now…")? → perfektum.
- Otherwise, pick by feel: a finished, located event → datid; a past with a foot in the present → perfektum.
Common Mistakes
❌ Jeg har set ham i går.
Incorrect — perfect with a definite past-time adverbial.
✅ Jeg så ham i går.
I saw him yesterday. (i går forces the datid)
The classic English-transfer error. A definite past time blocks the perfect; switch to the simple past så.
❌ Vi har flyttet til Aarhus sidste år.
Incorrect — perfect with sidste år.
✅ Vi flyttede til Aarhus sidste år.
We moved to Aarhus last year. (sidste år → datid)
Sidste år is a closed, definite past frame, so the verb must be datid.
❌ Så du nogensinde sådan noget?
Unidiomatic — simple past for a lifetime-experience question.
✅ Har du nogensinde set sådan noget?
Have you ever seen anything like that? (experience up to now → perfektum)
Nogensinde ("ever") frames the whole of your experience up to the present, which is the perfektum's job.
❌ Jeg er ikke sulten, fordi jeg spiste allerede.
Weak — datid where the present result is the point.
✅ Jeg er ikke sulten, fordi jeg allerede har spist.
I'm not hungry because I've already eaten. (present relevance + allerede → perfektum)
With allerede and an explicit present consequence, the perfektum is the natural choice.
❌ For to år siden har jeg boet i London.
Incorrect — perfect with for ... siden (a definite past).
✅ For to år siden boede jeg i London.
Two years ago I lived in London. (for to år siden → datid)
For … siden ("… ago") pins the event to a definite past point, so it demands the datid.
Key Takeaways
- Datid = definite, completed past events, especially with a specific past-time adverbial.
- Perfektum = experience, recency with present relevance, or unspecified time.
- The clean rule: a definite past-time adverbial (i går, sidste uge, i 2019, for to år siden, klokken syv) forces the datid and blocks the perfect.
- Words pulling the other way — nogensinde, endnu, allerede — favour the perfektum.
- The danger zone for English speakers is using the perfect with i går: don't. See it, switch to datid.
Now practice Danish
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Danish→Related Topics
- The Present PerfectA2 — How Danish builds the present perfect with have (or være) plus the past participle — and the one rule English speakers need: definite past time takes the simple past, not the perfect.
- The Past Tense: An OverviewA1 — How the Danish simple past (datid) splits into weak -ede, weak -te, and strong (vowel-change) verbs — and why you must learn each verb's class.
- Choosing Have or Være in the PerfectB1 — Why most Danish verbs build the perfect with have, but verbs of motion and change of state use være — and how the same verb can take either.
- Using Når for a Single Past EventA2 — Why English speakers wrongly use når for one-off past events, when da is required, and the one case where past når is actually correct.
- The Past Perfect (Pluperfect)B1 — How Danish uses havde or var plus a past participle to mark an action completed before another past point — in narration and reported speech.