1、现在完成时和过去完成时这两个时态的相似之处是动作都发生在过去,差别是两个时态所对应的时间参照点不一样。 现在完成时的动作发生在过去,但是时间参照点是现在 过去完成时的动作发生在过去,但是时间参照点是过去的某一时间。请看下面两个例句 -I have lived in Thailand for five years.(我目前在泰国已经住了五年了) live(居住 )是上面例句的谓语,那么这个动作显然是发生在过去(五年前),但是一直持续到现在,我们的时间参照点是“现在、当下” 。我们再看下面一个例句: I had lived in Thailand for five years before I w
2、ent to China.(在我来中国之前,我已经在泰国住了五年了) live 这个动作发生在过去,是前面句子的谓语,但是整句话的时间参照点变成了 before I went to China,这个动作也是过去的一个时间点,所以我们要把 go变成 went。所以从上面两个例句中大家可以看出,其实这两个时态的不同之处就在于时间参照点的不同。总结一下,现在完成时用来表示过去发生的动作对现在造成的影响,通常我们可以用现在完成时态表达三类情况: 第一、 经验 -I have seen that movie before.(我之前看过那部电影) 凡是我们谈论之前的经验,看过、听过、吃过、去过、读过等等的
3、经验都可以用现在完成是来表达,那么上面例句的意思是我不仅看过那部电影,而且我对电影的情节还有印象。 第二、 持续 -I have known John since we were kids.(当我们还是小孩的时候我就认识 John 了) Know(认识) 这个动作发生在过去,而参照点是现在,说明我们现在还是朋友,而且友谊还可能继续持续下去 第三、 改变 -I have bought a new car.(我买了一辆新车) buy 这个动作发生在过去,但是时间参照点是现在,其实言下之意是我不仅买了一辆新车,而且这辆新车我现就在我家,我随时都能用。之前没有车,现在有车了,这就是改变。 那么过去完成
4、是则是谈论过去的两个动作谁先谁后的问题,请看下例: -The plane left at 5 pm.(飞机下午五点起飞的) -We arrived at the airport at 6 pm.(我们六点到的机场) 上面两个句子都是一般过去时,表示两件完整的发生在过去的事情,这个时候我们可以用过去完成时态把这两个句子串起来,就变成了下面的句子: -The plane had left when we arrived at the airport.(当我们到达机场的时候飞机已经起飞了) 上句中有两个动词,一个是 left(离开),另一个是 arrived(到达),后面“到达”这个时间就是我们这句话的时间参照点,发生在过去,那么“离开” 要先于到达,所以我们在先发生的动作前面加上一个 had 构成过去完成时,表示这个动作发生在前。 所以现在完成时谈论的是:“过去的动作对现在的影响,时间参照点是现在”;过去完成时谈论的是:“ 发生在过去的两个动作的先后关系,在前的动作加上助动词 had 构成过去完成,在后的动作用一般过去时即可” 通过上面的分析,大家明白这两种时态的差别了吗?如果有疑惑,可以试着造两个句,再向身边懂英语的朋友咨询,或者向老师咨询。