轻松掌握英语现在完成时与一般过去时的核心差异
在英语语法中,have done 是现在完成时(Present Perfect Tense)的结构, 而 did 是一般过去时(Simple Past Tense)的结构。 它们都用来描述过去发生的事情,但使用场景和含义有明显不同。
| 方面 | have done(现在完成时) | did(一般过去时) |
|---|---|---|
| 时间是否明确 | 不强调具体时间,或时间未说明 | 通常有明确的过去时间点(如 yesterday, last week) |
| 与现在的联系 | 动作对现在有影响或结果仍相关 | 动作完全在过去,与现在无关 |
| 常见时间状语 | ever, never, already, yet, just, since, for | yesterday, last year, in 2010, ago |
❌ I have seen him yesterday. (错误!yesterday 是明确过去时间,不能用现在完成时)
✅ 正确说法:I saw him yesterday.
❌ Did you ever go to Japan? (口语中偶见,但标准语法应使用现在完成时)
✅ 更自然的说法:Have you ever been to Japan?
判断以下句子该用 have done 还是 did: