I had read that book before.这是过去完成时!可是....

2024-11-01 11:27:34
推荐回答(2个)
回答1:

老师经常说到这个问题, 那就是:"不要乱用过去完成时"
我有很多同学总是说:" 以前发生的事啊?!! 为什么不用过去完成时??"
其实 I have read that book before. 是完全可以的
before一般是现在完成时的时间状语

让我们看看 现在完成时的定义
(在这里)它表示的是一个动作对现在的影响, 着眼点不是动作的本身, 而是它对现在的后果(因此, "现在" 是这个时态"时间特性"的一半.)
如果我说 I have read that book before. 那表明,我以前的某个时间读过 that book, 但是我并不想谈及什么时候读过, 而是想说明[现在的一个事实]: I know what the book talks about. 注意是I know, 不是 I knew.
一般来说, 这些现在完成时的句子都可以用一般现在时的另外一个句子来进行描述, 这是 现在完成时的特点. (表动作持续 是现在完成时的另外一个用法, 先不谈)
也因此, 当我们谈论事情的时候, 一般不会用现在完成时说出事情的发生时间, 而是改用一般过去时(它才着眼于动作发生的时刻). 不能够说 I have read the book yesterday.

但是I had read that book before 也是完全可以的.
不过这个句子在意义上就不完整了(尽管语法上完整)
过去完成时的话, 相当于我们谈论事情的时间在过去, 我们是[在过去]着眼于一件 [比我们的谈话发生得更早] 的事(也就是过去的过去),当然,仍然是后果, 而不是动作本身
直接使用I had read that book before 的话,你就没有说清楚你的"谈论时间"是什么时候.
正确的句子就应该是 (仅仅是举例) I told them that I had read that book before. (我是在 'told' 的时候着眼看再之前发生的事情后果)
这句子就意味着, I knew what the book talked about when I told them about that.

回答2:

I have read that book before.是可以的,而I had read that book before.则更多出现在上下文中,或从句中,如:He said he had read the book before.