请教曹老师,我在您的一个回答中看到这个句子:I have often met him when I have been in London. 请问这个句子有没有问题?如果没问题的话那么从句中用现在完成时说话的人此时在不在伦敦呢?如果不在的话那么主句表示的是说话人从过去持续到说话时的习惯性事件,这样句子不就挺矛盾么。
I have often met him when I have been in London.
I often met him when was in London.
你比较一下这二个句子。第二句主句用一般过去时,从句为确切的过去时间状语,表示在确切的过去一段之间中的习惯。说话人假设或认定听话人是知道自己在伦敦的具体过去时间为何。
第一句的时间状语为不确切的过去时间状语,即说话人以前在伦敦呆过一段时间,具体是哪年哪月听话人是不知道的,也是不重要而不必提及的。在这段不确切的过去时间存在的习惯,就不用一般过去时,而用现在完成时表示。所以这个句子的现在完成时并不是表示从过去持续到现在的习惯,而是不确切的过去时间的习惯。所以,这个句子是正确的,虽然这样的句子不多见,语法书好像也没有类似的例句。但你根据时态的使用原则,应该能够推理出句子的意义的。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!