have been和have gone的区别

如题所述

已经去了某地: have gone to somewhere   表示已经去了还没有回来。
已经去过某地:have been to somewhere   表示是指曾经去过某地。

have been 与have gone 的区别:

have been 是指去过某地,但是已经回来.  

I have been to Beijing. 

我去过北京(现在人不在北京)

have gone 是指已经去了某地,但是没有回来.

He has gone to Beijing. 

他已经去了北京(人在北京)

扩展资料

一、与现在完成时的区别

现在完成时表示的动作发生在过去,以now的时间为基点,但侧重对now产生的结果或造成的影响;过去完成时则是一个相对的时态,以过去时间为基点,它所表示的动作不仅发生在过去,更强调“过去的过去”,只有和过去某时或某动作相比较时,才用到它。

I have learned 1000 English words so far.

到目前为止我已经学会了 1000 个英语单词。             

I had learned 1000 English words till then.

到那时为止我已经学会了 1000 个英语单词。

— I'm sorry to keep you waiting. 

对不起,让你久等了。     

— Oh, not at all. I have been here only a few minutes.

没什么,我只等了几分钟。

二、与一般过去时的区别

1、时间状语不同:过去完成时在时间上强调“过去的过去”;而一般过去时只强调过去某一特定的时间。

They had arrived at the station by ten yesterday.        

They arrived at the station at ten yesterday.

2、过去完成时表示过去的过去,不单独使用,一般和一般过去式一起使用。

3、当两个或两个以上接连发生的动作用 and 或 but 连接时,按时间顺序,只需用一般过去时来代替过去完成时;另外,在 before , after , as soon as 引导的从句中,由于这些连词本身已经表示出时间的先后,因此也可以用过去时来代替过去完成时。

He entered the room, turned on the light and read an evening paper.

参考资料:百度百科—过去完成时

温馨提示:答案为网友推荐,仅供参考
相似回答