The short answer
The three that matter are i, på and om. I marks a duration (i två timmar — for two hours) and goes with months and seasons (i juli). På goes with weekdays and parts of the day (på måndag, på morgonen) and with a period in which nothing happened (jag har inte sett honom på tre år). Om points forward to a moment (om tre dagar — in three days). "Ago" is a frame: för tre dagar sedan.
Swedish uses different prepositions for time than English:
'i' = for duration (i två veckor), 'på' = on days/in time periods (på måndag, på morgonen), 'om' = in the future (om tre dagar).
Which preposition with what
| Expression | Swedish | English |
|---|---|---|
| weekday | på måndag | on Monday |
| part of the day | på morgonen | in the morning |
| month | i juli | in July |
| year | år 2026 / 2026 | in 2026 |
| clock time | klockan sju | at seven |
| duration | i två timmar | for two hours |
| future interval | om tre dagar | in three days |
| past interval | för tre dagar sedan | three days ago |
| negated period | på tre år | for three years (not…) |
In a sentence
på måndag
on Monday
i juli
in July
om tre dagar
in three days
på morgonen
in the morning
i två timmar
for two hours
What learners get wrong
Jag kommer i tre dagar. (meaning in three days)
Say instead: Jag kommer om tre dagar.
I gives a duration — the sentence as written says you are coming for three days. Om is the one that points to a future moment.
tre dagar sedan
Say instead: för tre dagar sedan
"Ago" needs both halves. För opens the frame and sedan closes it; dropping either is one of the most audible learner errors.
Questions people ask
- What is the difference between i and om for time?
- I measures how long something lasts: jag stannar i en vecka, I am staying for a week. Om counts forward to when something happens: jag åker om en vecka, I am leaving in a week. English "in" covers both, which is exactly why the pair is hard.
- Is på måndag this Monday or every Monday?
- På måndag is the coming Monday. For a recurring day, use the plural: på måndagar, on Mondays. The same holds for the parts of the day — på morgonen is this morning or mornings in general depending on context, and på morgnarna is unambiguously habitual.
- How do I say "for three years" when nothing happened?
- With på, not i: jag har inte varit där på tre år. A negated stretch of time takes på, while a positive duration takes i — jag var där i tre år. It is a small distinction that native speakers apply without thinking.
Sources
Usage checked against Isof, the Swedish government's language institute, and Svenska Akademien. Where usage is genuinely divided, this page says so rather than inventing a rule.