have been to 表“去过某地”;have been in / at 既可表“曾在某地呆过”,也可表“一直在某地”。不带持续性时间状语是“已完成用法”,带持续性时间状语是“未完成用法”。请比较下面三个句子:
1. She has been to Wuhan (many times). 她去过武汉(很多次)。
已完成用法。可带或不带频度状语 many times(这种状语不同于持续性时间状语),表示“现在已不在武汉”。
2. She has been in Wuhan. 她在武汉呆过 / 住过。
已完成用法。没有带持续性时间状语,表示“现在已不在武汉”。
3. She has been in Wuhan for three years. 她在武汉已经住了三年了。
未完成用法。带有持续性时间状语,表示“现在还在武汉”。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
严格来讲,have been to somewhere 和 have been in (at) somewhere,是不同的。这从介词就可以判断出来。
to 表示“去过某地;拜访过某地”。强调动作。
in/at 表示“在某地待过、住过”。强调状态。
这体现了 be 用于完成时的区别,尽管说话时都已不在那里了。
我认为,在一般情况下,是不可以互换的。例如:
你在纽约待过吗?Have you ever been in New York?
你去过纽约吗? Have you ever been to New York?
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!