什么是 Did 和 Have Done?
在英语中,“did” 是一般过去时(Simple Past Tense)的助动词或动词形式,用于描述**过去某个具体时间**发生的动作或状态。
而 “have done” 是现在完成时(Present Perfect Tense)的结构,表示**从过去延续到现在**的动作,或**对现在有影响**的过去行为。
核心区别
- 时间是否明确:Did 通常搭配明确的过去时间(如 yesterday, last week);Have done 则不强调具体时间,常与 already, yet, ever, never 等连用。
- 与现在的联系:Have done 强调动作对现在的影响或结果;Did 只陈述过去事实,与现在无关。
- 时间范围:Have done 常用于未结束的时间段(如 today, this week);Did 用于已结束的时间段。
典型例句对比
✅ I did my homework yesterday.
(我昨天做了作业。—— 明确过去时间,与现在无关)
(我昨天做了作业。—— 明确过去时间,与现在无关)
✅ I have done my homework.
(我已经做完作业了。—— 强调“现在已完成”,可能意味着可以出去玩了)
(我已经做完作业了。—— 强调“现在已完成”,可能意味着可以出去玩了)
❌ I have done my homework yesterday.
(错误!现在完成时不与 yesterday 连用)
(错误!现在完成时不与 yesterday 连用)
✅ She visited Paris in 2020.
✅ She has visited Paris three times.
(前者强调2020年这个时间点;后者强调经历次数,不提具体时间)
✅ She has visited Paris three times.
(前者强调2020年这个时间点;后者强调经历次数,不提具体时间)
常见使用场景
使用 Did 的情况:
- 讲述过去发生的故事或事件
- 回答以 “When...?” 开头的问题
- 时间状语为:yesterday, last year, in 1999, ago 等
使用 Have Done 的情况:
- 表达刚刚完成的动作(常与 just 连用)
- 表示人生经历(ever/never)
- 动作开始于过去,持续到现在(常与 for/since 连用)
- 新闻或公告(最新消息)
小测试(点击查看答案)
判断以下句子应使用 did 还是 have done?
- I ______ (see) that movie last weekend.
- ______ you ever ______ (eat) sushi?
- She ______ (finish) her project an hour ago.
- We ______ (not receive) the email yet.