如题所述
推测你想问的是have been和have gone到底怎么区分。
现在完成时一共有3种基本用法:
1. 事件在过去发生,但是对现在有影响。
用图表示:
2. 事件在过去开始发生,但是没有立即结束,已经持续到了现在,也许还会持续到将来。
用图表示:
3. 事件在过去发生过几次(包括0次也算),也许将来会按一定的频率继续发生。
用图表示:
在上述三种情况中,go的完成时have gone应用于第一种,go转换为be的完成时have been用于第二种和第三种。
原因是,go是一个瞬间动词,可以表示这个动作在过去发生,然后结束,使用完成时的时候,表示这个动作对现在的结果有影响,例如:
老板进办公室找Henry,发现他不在,问别人:
-Where is Henry?
-He has gone to the bank. 【Henry去了银行,是过去去的,现在还没回,对老板没有看到他这一事实有影响】
那么在第二种用法中,很明显是某个动作持续了一段时间,go是不能表达持续的;在第三种用法中,是某个动作按照频率发生,go也是不能表达这个意思的,在这两种情况下,需要把go转化成别的词,那么按照语法和语意,转化为be,使用have been。
在第二种用法中,have been理解为“在……多长时间了”,例如:Henry has been in the bank for 10 minutes.
在第三种用法中,have been理解为“去过……多少次”,例如:Henry has been to China 4 times.
而其实你问题的核心就在第一种用法和第三种用法的区别中,综上,可以简单理解为:
have gone:去了……(可能在那个地方,可能在去那个地方的路上,也可能在返回的路上,总之就是不在现在说话的这个地点)
have been:去过……(去过已经回来了)
表示过去完成时,过去完成过的动作
go的过去分词就是gone 意思有去的意思
have been+gone 这个去的动作在过去完成过就是表示去过的意思啊