have
been
to
+
表地点名词
表示去过某地(引申义现在不在那个地方,to
是介词后面往往加名词或代词宾格)
而have
been
in
sp.
/
there
/here
for
some
time
表示"至今在某个地方已经停留一段时间"
(引申义就是说有可能现在还在所说的地方),
there
/here
是副词,不可以与介词连用,所以
不加to
。
这个短语应该是have
been
(in)
,
there
是地点副词前不加介词
have
been
in表示“在某地呆了多少时间”,常与时间段状语连用。
和你说的例句意思一样
eg.I
have
been
in
Shanghai
for
three
years.我到上海已有三年了。
He
has
been
in
London
for
half
a
month.他来伦敦已有半个月了。