Communicator
On display
Home / Languages / Cantonese / Grammar / Past tenses

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

suffixmeaningexample
咗 zo2completed ("did, have done")我食咗飯 ngo5 sik6 zo2 faan6 — "I've eaten"
過 gwo3experienced ("have ever done")我去過日本 ngo5 heoi3 gwo3 jat6 bun2 — "I've been to Japan"
住 zyu6ongoing 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 jat6yesterday
頭先 tau4 sin1just now
啱啱 ngaam1 ngaam1just (a moment ago)
上個禮拜 soeng6 go3 lai5 baai3last week
舊年 gau6 nin2last 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