Eron Powell•
现在完成时 vs 一般过去时:解释
你应该说"I went"还是"I have gone"?两者都谈论过去,但意思不同。
主要区别
一般过去时: 在特定时间完成的动作。
- I went to Paris in 2020. (我2020年去了巴黎。)
- She called me yesterday. (她昨天给我打电话了。)
现在完成时: 在不明确时间的动作,或仍与现在相连。
- I have been to Paris. (我去过巴黎 - 一生中某个时候。)
- She has called me. (她给我打过电话 - 确切时间不重要。)
何时使用
使用一般过去时当:
- 你知道确切时间: I visited Tokyo last year. (我去年访问了东京。)
- 时间段已结束: Shakespeare wrote many plays. (莎士比亚写了很多戏剧。)
使用现在完成时当:
- 时间不重要: I have visited Tokyo. (我访问过东京。)
- 影响现在: I have lost my keys. (我丢了钥匙 - 仍然丢失。)
- 与这些词一起: just, already, yet, ever, never
- 时间段未结束: I have worked here for five years. (我在这里工作了五年 - 仍在工作。)
时间词帮助你选择
一般过去时词语: yesterday, last week, in 2020, ago
现在完成时词语: just, already, yet, ever, never, so far, for, since
"For"和"Since"规则
- I lived here for 5 years. = 我不再住这里了(一般过去时)
- I have lived here for 5 years. = 我还住这里(现在完成时)
- I have lived here since 2020. = 起点,还在这里
常见错误
❌ I have visited Paris in 2020. ✅ I visited Paris in 2020.
❌ Did you ever go to Japan? ✅ Have you ever been to Japan?
常见问题
问: 美式英语 vs 英式英语? 答: 美国人更多使用一般过去时:"Did you eat yet?" 英国人更多使用现在完成时:"Have you eaten yet?" 两者都正确。
问: 我怎么知道用哪个? 答: 问问自己:我能准确说出是什么时候吗?如果能,用一般过去时。如果不能,用现在完成时。