三年前我到过上海。 翻译下。谢谢。

发布时间:2024-05-19 00:19 发布:上海旅游网

问题描述:

三年前我到过上海。 翻译下。谢谢。

用一般过去还是 现在完成? 给个翻译。谢谢。

I have been to Shanghai 这句后面能 加 时间状语吗? 我听别人说是 不能加,说是 不能持续。 have been to 这个动作,在过去已经结束了把?
have been to XX 后面到滴能不能跟 X years ago 。这样的表达啊。

2.have been to XX 是不是 不能 跟 for 2 years

问题解答:

正确的应为: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楼主:还是希望你去查下语法书,或者问问老师,答案就很明显了.(本来没有打算写这么多-_-)

回答者: famous000 - 江湖大侠 八级 9-8 08:24
的答案应该把 before 改成 ago, 就对了~~

i had been shanghai 3 years before

I have been to Shanghai,意思是说我曾经去过上海。是讲从过去任何个时刻一直持续到现在这一时刻的整个时间段里。到现在为止你完成了去上海这个行为,你曾经去过上海了,所以是用的现在完成时。强调的是你去过。
I went to Shanghai in 2005,我2005年的时候去过上海,或者是I went to Shanghai 3years ago,我三年去去过上海。
是讲在某个时间点你去了上海。这个事情已经结束了。在3年前,你从上海回来时就结束了,过去了,所以是在用过去时,强调的是什么时间去的。
人家会问:have you(ever)been to Shanghai before?(你曾经去过上海吗)
你这样回答:yes I have.(相对于have的提问用have来回答)
人家可能接着问: when?(展开来是when did you go there)
你这才说:errr...I went there about 3 yeas ago..(相对于did的提问,用went来回答)
或者:hmm...I went to Shanghai in 2005.
就是说have been to somewhere是不需要强调具体时间的,别人只想知道你是否去过,或者你只想告诉别人你曾经去过,什么时间去的并不重要,反正我去过。也可以理解成 ‘我曾经是在那里’,be吗,
went to somewhere,就相反,当你说你went to somewhere 的时候一定要加上具体的时间,否则真正说起话来这话就好像说了一半。went是谈论已经过去了的事情,跟现在没关系,

如果你说I went to see you,那一定要指出是什么时候,I went to see you last night/last week,but you wasn't at home.你在说昨天晚上/上周的事,都已经过去了,完了,跟今天无关。如果只说I went to see you,就不完整,听得人也觉得你说话习惯很奇怪。除非你是在强调你当时确实是去看他了用did,(别人说,you didn't(go to see me),你强调,I did !(go to see you))

如果你说I've been to see you(a couple of times),是讲到今天为止我曾去看过你(几次)但是到底哪天去的,或者到底哪几次去的,就不重要了,反正我去过。

我对语法也讲不出来什么过去完成时啊,现在完成时啊,过去时啊什么条条杠杠的,
我只是知道怎样用,所以就跟你说说是这么个用法,虽然说的好像有点罗嗦呵呵,不过希望能帮到。
学英语久了就有感觉了,除非问英语老师,要不你就是找个英国老百姓也不一定说出个所以然来,他们就这么说,习惯了不想。比如问你为什么叫买饭做‘打饭’买水做‘打水’
但是还是要理解语法,要不也用不对。

应该是I have been to Shanghai 3 years ago. have been to表示去过某地而且回来了。 如果用一般过去时就不能表示是否回来了。 这里显然可以加时间状语。这个动作可以持续。而且 3 years ago是过去的一个时间点,而不是一段时间,所以这个动作是否可以持续不影响这个时间状语的添加。
相信我,我在美国,英语一定不会差啊

我同意四楼的观点!最好直接问英语老师!

热点新闻