By the time you arrive in London,we __in Europe for two weeks.A.shall stay B.will have stayed C.have stayed D.have been staying

问题描述:

By the time you arrive in London,we __in Europe for two weeks.
A.shall stay B.will have stayed C.have stayed D.have been staying

B
这里是将来完成时,表示对将来事情的假设。等你到伦敦的时候,我们已经在欧洲呆了两星期了
下面是将来完成时的用法:
将来完成时用来表示在将来某一时间以前已经完成或一直持续的动作。经常与before+将来时间或by+将来时间连用,也可与before或by the time引导的现在时的从句连用。
1) 构成will / be going to do sth.
2) 概念
a. 状态完成:表示某事继续到将来某一时为止一直有的状态。
b. 动作完成:表示将来某一时或另一个将来的动作之前,已经完成的动作或一获得的经验。
They will have been married for 20 years by then.
You will have reached Shanghai by this time tomorrow.
将来完成时的构成
将来完成时的构成是由"shall/will + have +过去分词"构成的。
Before long he will have forgotten all about the matter.
不久他就会全然忘记这件事的。
He is somebody now. He will not have remembered his old classmates.
他现在是一个有身份的人了,他可能不会记得老同学了。
Will you have known Kevin for 10 years next month?
到下个月你认识凯文该有10年了吧?
将来完成时的用法
①表示在将来某一时间之前已完成的动作,并往往对将来某一时间产生影响。
We shall have learned 12 units by the end of this term.
到这个学期末,我们将学完12个单元。
By the time you get home I will have cleaned the house from top to bottom.
你到家之前我将把房子彻底打扫一遍。
②表示推测,相当于"must have done"结构。
You will have heard of this, I guess.
我想你已经听说过这件事了。
I am sure he will have got the information.
我相信他一定得到了这个信息。

我选B. 意思是你到伦敦的时候(那人还没到呢是个将来的时间)(从那时算起),我们在欧洲(总共)呆了两个星期.

B.By the time 相当与连词,引导的从句用一般的时态

主句用完成时,(从句用一般过去时,主句就用过去完成时;从句用一般现在

时,主句就用现在完成时)

B.等你到伦敦的时候,我们已经在欧洲两星期了