英语语法问题

2025-08-09 06:55:32
推荐回答(1个)
回答1:

在没有上下文孤立考虑这句话的情况下,By the time the sun sets, they will have worked on the farm for six hours. 这样表达是完全没有问题的。
这是一个由 by the time 引导的时间状语从句, by the time 作为连词时,要求主句使用完成时态。如果 by the time 句是一般过去时,则主句使用过去完成时;如果 by the time 句是一般现在时,则根据时间状语从句“主将从现”的原则,主句使用将来完成时。
本句是第二种情况,所以主句在大原则上是将来完成时,细分是将来完成进行时。但是由于work是延续性动词,即使后面有 for+时间段,其实只用 will have worked 也是完全可以的。
本句主句的谓语是 will have been working,中心动词是 working,其他部分其实都是构成时态的助动词。之所以 work 加 ing,是因为前面是 have been,been 属于 be 动词,后面接动词是需要变形的,或者变过去分词,或者变现在分词。本句是主动语态,所以用现在分词形式。