我是英语老师,我来浅显易懂地来告诉你吧。
就看他们有无两个表过去的时间,若有,就用过去完成时!
1.现在完成时表示过去发生某动作从过去一直持续到现在(将来还有可能继续下去)。常和for+时间段和since+时间点连用。
I have studied English for 3 years.( 从过去持续到现在)
I have taught here since I came here.( 主句的动作“教”从过去持续到现在),(记住:since(从……)从句的动作要用过去时,我们平时不是爱说“从过去”吗?)
2.过去完成时则主要体现过去发生的两动作的先后有别,表达的是“过去的过去”,即比过去发生的某动作都还要“过去”,两动作中先发生的就用过去完成时,后发生的则只用一般过去时。运用过去完成时的句子往往有两过去的时间或动作,一定要注意这点哟!
Mr Green had lived in New York for ten years before he came to China.("来”中国已过去,而先前“住”在纽约更过去!)
We had learned 1000 words by the end of last term.
(“上期期末”已过去,而是在其前“学”的就更过去了!)
现在完成时态与过去时态的区别
1. 意义上的区别
一般过去时态只是单纯地表示过去某一时间发生过的动作或者存在的状态, 和现在没有任何联系, 只着眼于过去.
现在完成时态重点强调与现在的联系, 表示过去发生的动作对现在造成的影响和结果, 属于现在时的范畴.
试比较下列例句:
I have washed my shoes . 我刷过鞋了.
强调的是过去的某一时间发生的动作"洗" 对现在产生的影响是" 鞋是干净的" .
I washed my shoes yesterday . 我昨天刷了鞋.
强调昨天做过"洗" 这个动作, 与现在鞋是否干净没有关系.
My father has bought a new car . 我爸爸买了一辆新车.
强调在过去的某一时间发生的动作"买" , 对现在造成的结果是" 他有了一辆新车".
My father bought a new car last Sunday . 我爸爸上个周日买了一辆新车.
强调上个周日"买" 这个动作发生过, 与爸爸现在是否有车无关. 也许这辆车是给别人的.
2. 时间状语的区别
一般过去时态只能与表示过去的时间状语连用, 如 yesterday, last week, three years ago, in 1990 , just now 等.
现在完成时态中的时间状语表达的时间是到现在为止. 如: just 刚刚, before 以前, "since / ever since +过去时间 " 自从...... 开始, ever 曾经, never 从未, 未曾, "already" 已经 , " for+ 时间段"已有多长时间了. in the last/ past ten years 在过去的十年里, so far 到目前为止. up to now 直到现在, this week 这个星期等等.
一个是过去的,一个是现在的