现在完成时中have been in 和 have gone to 有何区别?

来源:百度知道 编辑:UC知道 时间:2024/06/30 02:39:44
稍详细些,谢了~
1#:是have been in 不是have been to。

have been in是"现在还在某地逗留",是表示延续性动作,后面可以接时间,如He has been in Beijing for 3 years"(他已经在北京呆了3年),而have gone to是说"现在去了某地,还没有回来",是瞬间性动词,只能表示短暂性动作,比如说,He has gone to Beijing.(他已经去了北京)

have been to 表示曾经去过,暗示已经返回
have gone to 表示已经去了,还没返回

I have been to Paris. ( 我曾经去过巴黎<现在不在巴黎>)
He has gone to Shanghai. ( 他已经去上海了<现在在上海>)

另外,在句子当中有延续性时间状语的时候(since...ago, for...等),have been in/at 可以代替have gone to, 表示某人已经去了某地多长时间了。

He has gone to Shanghai and has been there(in Shanghai ) for 2 weeks. ( 他已经去上海了,并在那里呆了两周)