
现在完成时强调的是过去的某个动作对现在的影响,而现在完成进行时则强调的是从过去开始持续到现在的动作。例如:I have phoned him. 表示我曾经打过电话,具体时间不详,但强调这个动作已经发生。而She has been talking on the phone for three hours. 则表示她一直在打电话,到现在为止已经持续了三个小时。
在区分这两个时态时,我们需要考虑动作的延续性或短暂性,以及动作是否仍在进行。He has gone这个句子中的go既可以是短暂动作,也可以是延续动作,比如“走”可以表示瞬间移动,也可以表示长时间的移动,因此动词的性质并不能决定时态的选择。
现在完成进行时中的“进行”意味着动作一直持续到现在,它更多地关注动作的持续性。例如:She has been talking on the phone for three hours. 说明这个动作持续了三个小时,而现在仍在进行。而He has gone则不一定表示动作仍在进行,它可能表示动作已经完成,不再持续。
在使用这两个时态时,我们需要根据具体语境进行判断。例如:She has been talking on the phone for three hours. 可以换为She has talked on the phone for three hours. 但是反过来则不一定成立。因此,时态的选择需要根据具体逻辑来判断。
另外,我们还需要考虑现在完成时与现在完成进行时在表示动作对现在影响时的区别。例如:He has gone to America. 这个句子表示他去了美国,但不能直接推断出He is not in China。因为虽然他去了美国,但他可能已经返回,只是说话人不知道。这种情况下,我们不能简单地根据语法规则来判断事实。
综上所述,现在完成时与现在完成进行时的主要区别在于是否强调动作的延续性以及动作是否仍在进行。我们需要根据具体语境和逻辑来选择合适的时态。