Past tenses
Cantonese has no past tense — verbs never change for time. Instead it marks aspect: whether an action is completed, experienced, or ongoing, using suffixes glued to the verb. Time itself comes from time words.
The three suffixes
| suffix | meaning | example |
|---|---|---|
| 咗 zo2 | completed ("did, have done") | 我食咗飯 ngo5 sik6 zo2 faan6 — "I've eaten" |
| 過 gwo3 | experienced ("have ever done") | 我去過日本 ngo5 heoi3 gwo3 jat6 bun2 — "I've been to Japan" |
| 住 zyu6 | ongoing state ("keeps being") | 佢攞住本書 keoi5 lo2 zyu6 bun2 syu1 — "she's holding a book" |
咗 zo2 — done
The everyday "past". It marks completion, not time — it works for the future too:
我買咗架車 ngo5 maai5 zo2 gaa3 ce1 — "I bought a car" 佢走咗喇 keoi5 zau2 zo2 laa3 — "he's left" 你食咗飯先嚟 nei5 sik6 zo2 faan6 sin1 lai4 — "come after you've eaten" (completion in the future)
Negation swaps 咗 for 冇 — never both: 我冇買 ngo5 mou5 maai5 — "I didn't buy it", not 冇買咗. "Not yet" is 未: 我未買 ngo5 mei6 maai5.
Mandarin note: Mandarin 了 le does two jobs (verb suffix + sentence-final). Cantonese splits them into two different words — 咗 on the verb for completion, 喇 laa3 at the end for "new situation": 落雨喇 lok6 jyu5 laa3 — "it's (started) raining".
過 gwo3 — ever done
Life experience, at least once, not tied to any occasion:
| 你食過雲吞麵未呀? nei5 sik6 gwo3 wan4 tan1 min6 mei6 aa3 | "have you ever had wonton noodles?" |
| 我學過廣東話 ngo5 hok6 gwo3 gwong2 dung1 waa2 | "I've studied Cantonese (before)" |
| 我未去過 ngo5 mei6 heoi3 gwo3 | "I've never been" — negate with 未 (or 冇) |
咗 vs 過: 我去咗日本 — "I went to Japan (a specific trip — maybe I'm still there)"; 我去過日本 — "I've been to Japan (at some point)".
住 zyu6 — state that holds
For verbs where the result lingers — holding, wearing, remembering:
佢著住件紅色衫 keoi5 zoek3 zyu6 gin6 hung4 sik1 saam1 — "he's wearing a red shirt" 記住呀! gei3 zyu6 aa3 — "remember it!"
(Mandarin's counterpart is 着 zhe; Cantonese 住 is more restricted — ongoing actions prefer 緊 gan2 or 喺度, see Present tense.)
Time words carry the calendar
Since verbs won't tell you when, the time word does — before the verb:
| 尋日 cam4 jat6 | yesterday |
| 頭先 tau4 sin1 | just now |
| 啱啱 ngaam1 ngaam1 | just (a moment ago) |
| 上個禮拜 soeng6 go3 lai5 baai3 | last week |
| 舊年 gau6 nin2 | last year |
我尋日見到佢 ngo5 cam4 jat6 gin3 dou2 keoi5 — "I saw him yesterday" — note: with a time word set, the suffix is often optional.
What's easy, what's hard
- Easy: no conjugation tables — three suffixes cover what French does with five past tenses.
- Hard: thinking in aspect. "Did you…?" forces a choice: specific occasion (咗), ever (過), or yet (未) — English "did" hides that decision.
Same chapter in: English · French · Spanish · German · Italian · Georgian · Mandarin Chinese · Malay