要了解"完成时"首先要了解英语"have"这个动词的时间内涵,have/has是动词的have的现在形式,表面上看来是"现在"时间,其实本质上的时间是"过去到现在"的这段时间,更多是指过去。
"had"是have的过去形式,表面上看来是"过去"时间,其实本质上的时间是"过去之前到过去"的这段时间,更多是指过去之前。
"Have, had"助动词加上"主动词"作为谓语或者非谓语的作用就是告诉大家,"我是负责先后秩序的,我后面的动词的动作是前面发生"。
一般过去时态:
定义:时间仅指过去,和现在毫不相干
I ate an apple.
我吃了一个苹果。
解释:ate本质上是did eat的结合体,did为时间助动词,表示过去时间;eat为状态主动词,表示一般态(陈述);ate这个动作发生在过去,和现在毫不想干。
现在完成时态:
定义:时间涉及到过去到现在的这段时间
I have eaten an apple.
我吃了一个苹果。
解释:have为时间助动词,表示现在时间;eaten为状态主动词,表示动作完成;eaten这个动作实质上是过去发生的,但是为了强调其影响力已经延续并影响到了现在所以结合了have助动词。
现在完成时态中的have是现在时间,其本质是现在时态,所以其不能和绝对的过去时间状语连用,比如不能和yesterday, five days ago, 1980等。现在完成时态其关注和有效的时间落点如图2所示为过去和现在的这段时间。
一般过去时态和现在完成时态的区别总结
1. 一般过去时态的动作和状态影响力仅在过去,其可以和表示绝对过去的时间状语连用。
2. 现在完成时态的动作和状态影响力从过去触及到了现在。其不可以和表示绝对过去的时间状语连用。
3. 但是无论是一般过去时态还是现在完成时态都可以和表示一段的时间状语连用,如:
He lived here for five years.
他在那里住过5年。
He has lived here for five years.
他在那里住5年了。
Five years仅仅是一个时间段,其并不是绝对的现在、过去时间。
英语语法看起来比较的复杂,但是只要理解了,就是非常的简单,以上就是关于现在或过去完成时的语境知识,自己可以画个时间轴,就明白了。