415 have been to和have been in
1 have been to+地点名词 表示“去过或到过某地”,而现在已返回,不在那里了,只表示过去的经历,常同once, twice, ever, never, several times等表示次数或时间的副词连用。
Have you ever been to Shanghai? 你到过上海吗?
I have been to the post office. 我到邮局去了。(回答Where have you been?)
2 have been in/at 意为“一直在……,一直待在……”,表示已在某地待了多少时间,指包括现在在内的一段时间,常同for或since引导的短语连用。
I have been in Nanjing for over ten years. 我在南京已经10多年了。
How long have you been in the town? 你在这个小城已经多久了?
He has been in the factory since 2002. 他自2002年以来就一直在这家工厂。
I have been at the village for a long time. 我在这个村子里已经待很长时间了。
I have been to the school for eight years. (误)
I have been in the school for eight years. (正)我到这所学校已经8年了 。
How long have you been to Beijing?(误)
How long have you been in Beijing?(正)你在北京多久了 ?