have been in have gone to have been to have been 之间的区别

问题描述:

have been in have gone to have been to have been 之间的区别
have been in have gone to have been to have been
之间的区别

have(has) been to
表示“曾去过某地,已经从那里回来了”,可以和ever、never、twice等连用.
have(has) gone to
表示“已经去了某地,在去那里的途中或到达那里还没有回来”.
have(has) been in
表示“在某地呆多长时间”,常与表示一段时间的状语连用,
如:since,for,how long 等.例如:
(1)He went to Shanghai last week 上周他去了上海
(2)He has been to Shanghai.他(曾经)到/去过上海.(但他人现在肯定不是在上海而是回来了)
(3)He has gone to Shanghai.他已经去上海了.(也许刚动身出发,也许已经到了,也许还在路上,反正他人不在这里)
(4)Mr.Brown has been in Shanghai for three days.布朗先生来上海已经有三天了