1.Frank will return the book if he has finished reading it.
2.The project will not start until all the preparations have been made.
在这两个句子中,从句都可以使用一般现在时:
1.Frank will return the book if he finishes reading it.
2.The project will not start until all the preparations are made.
在“时间、条件状语从句” 中,虽然是将来的动作,我们也不能使用将来时,而是用一般现在时。这就是老师经常讲的所谓的 “主将从现”。同理,现在完成时用在“时间状语从句”或者“条件状语从句”中,表示将来业已完成的动作或状态,代替将来完成时。例如:
1. 时间状语从句:until, as soon as, when
We can't move in until the electricity has been laid on. 我们得等电源接通后才能搬进去。
I'll go to my granny's as soon as I have finished my homework. 我一完成作业就去奶奶家。
Don't forget to switch off when you have finished. 做完之后别忘了关掉。
2. 条件状语从句:if, once, as long as
If you have finished reading the book before I leave, please lend it to me. 如果你在我离开之前就读完了这本书,请借给我。
Once we have promised, we should keep it. 一旦许下诺言,我们务必遵守。
You can watch TV as long as you have finished your homework. 只要完成了作业,你就可以看电视。
3. 偶尔还用在让步状语从句中,如:
Even though you have set the bird free, it can hardly survive. 就算将来你放了这只鸟,它也很难活。
【说明】
(1)在以上各个从句中,我们可以用一般现在时代替现在完成时,意思差别不大。
(2)在时间状语从句中,使用现在完成时代替将来完成时。这跟所谓的“主将从现”是一个道理。
(3)在时间状语从句和条件状语从句中,用现在完成时表示将来业已完成的动作。