这样记看如何:
一般过去时属于“过去”时间范畴,所以它只描述过去的动作和状态,因此和纯过去的时间状语连用,如yesterdaty, in 2000等.
现在完成时态属于“现在”时间范畴,所以它强调现在的情况,这就是我们所说的“过去的动作对现在的影响”.不能和表示过去的时间状语连用.看一个我们经常举的例子:
如果你串门到朋友家,他们正吃饭,就问你要不要一起吃,你这样回答:I have had my lunch.
这句话其实就说明了你“现在”的情况:不饿,所以也就不必再吃了.等于拒绝好意.这里并不关心过去的动作“吃”,而是强调的却是现在的情况.
如果你回答:I had my lunch at home. 就只强调了在家吃饭这个事实,至于现在是否还想再来一点则没有暗示.
至于现在完成时态的另一个用法:过去发生的动作一直持续到现在,比较好理解,不多说.
总之,这是一个难点,三言两语难以讲的清楚.多琢磨,多练习,相信有一天就会豁然开朗.