第3个回答 2011-04-24
Have been in强调“过去曾去过”之意,表示经验;have been to的意思是“过去到过而现在已返回”,它强调“最近的经历”;have gone to表示“动作的完成”,强调人已离开说话的地方。
have been in 表示你去过但不一定回来了,但been to 却表示去过但已经返回,gone to是表示已经去了,或是到了或是在路上,主要强调动作,在本剧中, how long 是多长时间,意思是问你在北京待了多长时间了,是现在完成时态。意思从过去到现在你在北京多长时间了!所以要用been in