before, ago时态问题

1, I didn't go there two years ago.

2, I didn't go there two years before.

3, I didn't go there before.

4, I haven't been there before.

5, I haven't been there two years before.

6, I hadn't been there two years before.

老师 这些句子中哪些是错误的?为什么?

请先 登录 后评论

最佳答案 2020-01-16 18:57

单独使用的副词before,表示现在以前的不确切的过去,通常和现在完成时连用。

数词+时间名词+before,表示从过去某时间算起多长时间以前,表示的是过去的过去的概念,所以通常和过去完成时连用。

数词+时间名词+ago, 表示从说话时算起多长时间以前,是确切的过去时间,通常和一般过去时连用。

你可据此做出你的判断。

请先 登录 后评论

其它 1 个回答

mengxin Z

1, I didn't go there two years ago.

2, I didn't go there two years before.


句子1显然是对的,

句子2也对,但这句用于回答人家提问才好,

如果是你,比如与人第一次,说出的单独的句子,人家会等你继续往下说。



image.png


看到上图没?你的句子缺了一部分,因而不完整。


---------------------

然后就是在过去完成时里,也未必就是要用before,

换句话说,也不能说ago就一定不能与过去完成时连用:

"I met you two years ago". 

转变成间接引语:  

He said that he had met me two years before.

这个公式套下来,很好,很利索,但语义未必正确。


假设你于2017年遇到某人, 2019年又来到该地并再次看到了他,现在是2020年, 那么:

He told me we had met three years ago. (三年前见到,从现在起算)

He told me we had met two years before. (三年前见到,从2019起算)

第二句把2改成3,含义立马模糊。

而且,听话人未必自动就把before看成是副词,从而会问before what?


你所有的句子,都有可能是对的,也都有可能是错的,就看你要表达什么

而句子语义的变化,大概上面都讲到了。



请先 登录 后评论
  • 5 关注
  • 6 收藏,3913 浏览
  • 精益求精 提出于 2020-01-01 16:50

相似问题