21. B. We haven’t been to the cinema for a long time.
Giải thích: S + V <phủ định thì hiện tại hoàn thành> + thời gian.
22. D. I haven’t seen Rose for three years.
Giải thích: S + haven’t/ hasn't + V<phân thứ hai> + for + thời gian.
23. C. The last time I had visited the museum was three months ago.
24. C. John used to play the piano 10 years ago.
25. A. I haven't seen her for a week.
Giải thích: S + haven't/hasn't + V<phân thứ hai>.