If Chinese has no past tense, how do you say what happened yesterday? The reassuring answer: much more simply than you fear. Past time is carried by time words — 昨天, 去年, 那时候, 小时候 — and those do the tense work. Aspect particles are then added only when you want to signal something extra: 了 for a completed event, 过 for an experience. The trap English speakers fall into is assuming 了 is the past tense and stamping it onto every past sentence. It isn't. A great many past statements — descriptions, states, habits, "was/were" sentences — take no marker at all. This page shows you which is which, so your past-tense stories sound like a native's, not like 了 confetti.
Time words carry the "when"
The workhorse of the Chinese past is the time word. Put 昨天 (yesterday), 去年 (last year), or 那时候 (back then) in the sentence and the pastness is already established — before you decide anything about aspect. Everything after that is a separate choice about the event's shape.
我昨天去了北京。
wǒ zuótiān qù le Běijīng
I went to Beijing yesterday. (neutral) — 昨天 sets the time; 了 adds 'completed'.
上周我买了一台新电脑。
shàng zhōu wǒ mǎi le yì tái xīn diànnǎo
Last week I bought a new computer. (informal) — 上周 = when; 了 marks the purchase as done.
去年我去过日本。
qùnián wǒ qù guo Rìběn
Last year I went to Japan. (neutral) — 过 frames it as an experience I've collected.
The big reassurance: past states and habits take NO 了
Here is what textbooks underplay. Descriptive past — what something was like, "was/were" sentences, ongoing background states — takes no aspect marker. So does the habitual past — what you used to do regularly. In both, there is no single completed event to mark, so 了 has nothing to attach to. The time word alone does the whole job.
我小时候住在上海。
wǒ xiǎoshíhou zhù zài Shànghǎi
I lived in Shanghai as a child. (neutral) — an ongoing past state; 小时候 carries the time, NO 了.
那时候他很穷。
nà shíhou tā hěn qióng
Back then he was very poor. (neutral) — a 'was' description of a state; adjective predicate, NO 了.
我以前每天都跑步。
wǒ yǐqián měitiān dōu pǎobù
I used to run every day. (informal) — habitual past; 以前 + 每天 carry it, NO 了.
小时候,妈妈常常给我讲故事。
xiǎoshíhou, māma chángcháng gěi wǒ jiǎng gùshi
When I was little, Mom often told me stories. (neutral, warm) — repeated past action; 常常 signals habit, NO 了.
Negated past is another no-了 zone: negation uses 没(有), which already means "did not happen," and 了 drops out entirely.
你昨天怎么没来?
nǐ zuótiān zěnme méi lái?
Why didn't you come yesterday? (informal) — negated past uses 没, and 没 + 了 don't co-occur.
Which tool for which past
Match the shape of the past event to the right tool:
| Past scenario | Marker | Example |
|---|---|---|
| Specific completed event | 了 | 我昨天买了票 (I bought the ticket yesterday) |
| Experience, "have done (ever)" | 过 | 我去过法国 (I've been to France) |
| Description / state ("was, were") | none | 那时候他很穷 (he was poor back then) |
| Habit / repeated past | none (+ 以前 / 常常) | 我以前每天跑步 (I used to run daily) |
| Negated past | 没(有), drop 了 | 我昨天没去 (I didn't go yesterday) |
The one sentence that ties it together holds a completed event and a state side by side — 了 on the event, nothing on the state:
他昨天来了,可是那时候你不在。
tā zuótiān lái le, kěshì nà shíhou nǐ bú zài
He came yesterday, but you weren't there at the time. (informal) — 来了 (completed event, 了) next to 不在 (a state, no marker).
For the deeper rules on when 了 is and isn't used, see when 了 is not used and the dedicated 了 as false past tense page.
Common Mistakes
1. Adding 了 to a descriptive past state. An ongoing "used to be / lived" state has no completion point.
❌ 我小时候住在上海了。
Incorrect — a past state takes no 了; 小时候 already marks the time.
✅ 我小时候住在上海。
wǒ xiǎoshíhou zhù zài Shànghǎi
I lived in Shanghai as a child. — no marker on a background state.
2. Adding 了 to a habitual past. "Used to (regularly)" is a habit, not a single completed event.
❌ 我以前每天都喝咖啡了。
Incorrect — a repeated past habit takes no 了; 以前 + 每天 carry it.
✅ 我以前每天都喝咖啡。
wǒ yǐqián měitiān dōu hē kāfēi
I used to drink coffee every day. — habitual past, no marker.
3. Keeping 了 with negative 没. 没 already negates the past; 了 must drop.
❌ 我昨天没去学校了。
Incorrect — 没 and 了 don't co-occur; drop the 了.
✅ 我昨天没去学校。
wǒ zuótiān méi qù xuéxiào
I didn't go to school yesterday. — 没 alone marks the negated past.
4. Adding 了 to a past 'weather was…' description — and changing the meaning. With an adjective, 了 doesn't mean "past"; it means "has now become," which flips your sentence.
❌ 昨天天气很好了。
Wrong meaning — 好了 means 'has gotten better / is fine now', not 'the weather was nice yesterday'.
✅ 昨天天气很好。
zuótiān tiānqì hěn hǎo
The weather was nice yesterday. — a past description takes no 了.
Key Takeaways
- Time words (昨天, 去年, 那时候, 小时候) carry "past"; the verb never changes.
- Add 了 only for a specific completed event, 过 only for an experience.
- Descriptions, states ("was/were") and habits take NO marker — this is the biggest relief and the biggest fix for over-用了.
- Negated past uses 没(有) and drops 了 entirely: 我昨天没去.
- With an adjective, 了 means "has become," not "past" — 天气好了 is "the weather has cleared up," a different sentence from 天气很好.
Now practice Chinese
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Chinese→Related Topics
- Chinese Marks Aspect, Not TenseHSK 1 — Chinese verbs never change for past, present or future. Instead, particles mark ASPECT — whether an action is completed (了), experienced (过) or ongoing (着/在). Time is set by words like 昨天, not by the verb.
- When NOT to Use 了HSK 2 — 了 marks a completed, bounded change — so it does NOT belong on habits (我每天跑步), on states and descriptions (那时候他很高兴), on mental/stative verbs (我喜欢他), or on negated verbs (没吃). Stop sprinkling 了 on everything past.
- The Perfective 了 (le₁): Completed ActionHSK 1 — The verb-suffix 了 (le₁) sits right after the verb and marks the action as completed or realized — 我吃了饭, 买了三本书. It is completion aspect, not past tense, so it can even point to the future: 下了课就走.
- Using 了 as a Past Tense (*我昨天是学生了)HSK 2 — Told that 了 (le) 'signals completion', learners stamp it on every past sentence — 我昨天是学生了 for 'I was a student yesterday'. But 了 marks completion or change of state, not tense: states and habits take no 了, so the right form is 我以前是学生.