分类：教育/科学-外语学习-英语考试
问题：完成时态有两种用法：第一种：过去发生的动作或状态对现在产生的结果? 
完成时态有两种用法：
第一种：过去发生的动作或状态对现在产生的结果和影响．
第二种：过去发生的动作或状态一直持续到现在．

那怎么才能知道一个已经用了完成时态的句子是表示第一种含义，还是表示第二种含义？
回答：第一种：过去发生的动作或状态对现在产生的结果和影响．
Have you had lunch yet?     -Yes,I have. I've just had it.
你（已经）吃午饭了吗？ 我刚刚吃过。（现在我不饿了）
第二种：过去发生的动作或状态一直持续到现在．
He has taught here since 1981
他自1981年就在这儿教书。（可能还要继续教）
I have't seen her for four years.
我有四年没见到她了。


怎么才能知道一个已经用了完成时态的句子是表示第一种含义，还是表示第二种含义？
那要看具体语境了。就像简单一句话：I have learned English for three years.那么我们看到for就可以想到是动作一直持续到现在的，但是如果I have seen the movie，就可能表示我已经看过了不想再看了。