结构: have done或者has done
现在完成时是“过去的动作或状态持续到现在并且已经完成”。要和一般过去时区分
一、现在完成时与一般过去时的区分
1. 特点对比
时态 | |||
---|---|---|---|
一般过去时(一般) | 没特点 | 纯叙述 | 仅表示之前发生的动作 |
现在完成时(完成) | 强调完成 | 对之后的事情有影响 | 过去的动作或状态持续到现在并且已经完成 |
- 注意:
现在完成时句子中一般会有 ‘已经’ ‘还没’ ‘过’
Already、yet、ever、never、just、before、once、twice、three times - 对比:
① 我吃了一个汉堡
我已经吃了一个汉堡了(你不用再给我买了)
② 我看了一部电影
我已经看过这部电影了(咱要不换部别的看)
③ 我没给他打了个电话
我还没给他打电话(等会咱俩一起打吧)
2. 时间对比
时态 | ||
---|---|---|
一般过去时(过去) | 表示过去的一个时间段,与现在无关 | 一般接过去的时间 |
现在完成时(现在) | 从过去开始一直延续到现在的时间段 |
- 注意:
① 首先判断是时间段还是时间点
② 如果是时间点,判断其特点是仅表示之前发生的动作,还是强调已经完成
③ 如果是时间段,判断这个时间段是动词完全延续这个时间段到现在
3. 例句:句中时间段时间点判断
- 他昨天就已经走了 【时间点】
- 我已经在这里住一辈子了 【时间段】
- 我2007年告诉的他 【时间点】
- 我已经告诉他两天了 【时间段】
- 他上个星期走了 【时间点】
- 他走了一个星期了 【时间段】
- 他那个夏天这里住过 【时间点】他在这里住了一个夏天 【时间段】
- 他之前在这里住过仨月 【时间段】
二、结构
have + done (过去分词) 或者 has + done (过去分词)
- 训练
一般疑问句 he和you 造句,特殊疑问句when-he、when-you
三、时间段
1. 对于一个时间段的提问和回答要用how long和for或since
例句:How long have you known him? I have known him for 3 years.
2. 疑问句用how long 提问,陈述句中用for回答
-How long have you known him? 或 How long has it been since you knew him?
-I have known him for 3 years.
3. 区别现在完成时和一般过去式
过去到现在的时间段用现在完成时,过去的时间段用一般过去式
你之前在这里住过多久了(与现在没有关系)
-how long did you live here?
-I lived here for two years before.
- 区分(红色用一般过去式表示)
四、现在完成时+时间段中动词的运用
1.完成时+时间段 动词变延续性
用完成时后面加上一段时间动词要用可延续动词,如非续动词要变成可延续的谓语动词或系动词+n.a.adv.介短
- 例句 come是非延续性动词,要变成be here
How long have you been here? I have been here for 30mins.
如下图所示:
2. 非延续性动词的转化
3. 穿衣服的区别
你穿这件衣服多久了?-
可以翻译成,衣服在你身上,主语是衣服,用on.
How long has this piece of clothing been on you? -
也可以翻译成,你在衣服里面,主语是你,用in.
How long have you been in this piece of clothing? -
也可以用wear(穿,可延续性动词,过去式和过去分词分别是wore和worn)
how long have you worn this piece of clothing?
-
五、无法变成延续性的表达方式
用since从句,从句的时态是一般过去式
例句
- 你找到钥匙多久了 How long has it been since you found the key?
- 你吃了多久了 How long has it been since you ate it?
- 你告诉他多久了 How long has it been since you told him?
- 你开除他多久了 How long has it been since you fired him?
额外知识点
- 现在完成时可以加时间点或者时间段,只有在表示时间段时,动词需要变延续。
- when提问时间点,一般都用一般过去时;how long 提问时间段
- have been to 表示去过某地,现在已经不在那了
have gone to 表示已经去了某地,现在在路上或者已经到了
have been in 表示一直在这,从未离开