qianmao
幼苗
共回答了18个问题采纳率:83.3% 举报
正确的应为:I went to Shanghai three years ago.三年前我到过上海.
使用一般过去时
(1)I have been to Shanghai.意思是我以前去上海,到我现在还一直在上海.
不能加具体的时间点(不能和表示具体时间的时间状语连用),如yesterday,last year,ago,three years ago.(错误:I have been to Shanghai three years ago)
但是能和表示"直到现在"时间状语连用,就是说可以加so far,ever,since,for等等.(正确:I have been to Shanghai for three years.我到上海3年了)
(2)have been to 这个动作,在过去已经结束了吧?
没有结束,持续到现在.过去就结束的动作到用过去完成时(had benn),使用限制较多,也不能放在这个句子里面用,所以1楼和3楼的回答是错误的,使用过去完成时必须一过去某一时间作为前提,这个前提通常需要加by,before短语来表示,或者有从句(过去时)做时间状语.
但是,如果是在一定的上下文中,时间状语也可以不用.
TO2楼的:"have been to表示去过某地而且回来了,如果用一般过去时就不能表示是否回来了"是明显错误的.现在完成时的定义就是:表持续,就是过去时间发生的动作,一直持续到现在.
你真的是在美国的吗?麻烦不要误人子弟吧.
TO楼主:还是希望你去查下语法书,或者问问老师,答案就很明显了.(本来没有打算写这么多-_-)
1年前
4