先展望八月,再从那个时点回看修船项目。两年衡量的是活动到那时持续的长度,并不是承诺船到那时已经修完。

理解要点

所有主语都用will have been + -ing。否定以won't have been开头,问句把will放在主语前。给出未来参照点,通常再用for标时长或since标开始时间。How long询问截至该点累计的时长。

例句

  • By August, I'll have been restoring this boat for two years.到八月时,我就已经修复这艘船两年了。
  • By ten, they will have been rehearsing for four hours.到十点时,他们就已经排练了四个小时。
  • How long will you have been working there when you retire?你退休时,会已经在那里工作多久?
  • We won't have been living here for a full month by then.到那时,我们还不会在这里住满一个月。
  • By the time the school opens, the builders will have been working for six months.学校开门时,建筑工人就已经工作了六个月。
  • Next week, she will have been taking piano lessons for a year.下周她就上满一年的钢琴课了。

朗读使用设备上的英语合成语音,质量和可用性因设备而异;它不会评估发音。

注意事项

参照点不一定是活动结束点。一年的钢琴课包含反复上课和间歇,并非每分钟都在弹奏。状态动词通常用完成时简单形式:will have known,不是will have been knowing。

自己试一试

  1. 选择正确选项。 By August, I'll have ___ restoring this boat for two years. (be / been)

    显示答案或示范答案与解析

    been

    此进行结构中,have后需要been:will have been restoring。

  2. 选择正确选项。 By ten, they will ___ been rehearsing for four hours. (have / has)

    显示答案或示范答案与解析

    have

    Will后所有主语都保留have,不要写成will has been。

  3. 排练六点开始,一直持续到十点。到十点时,他们已连续排练多久? (four hours / ten hours)

    显示答案或示范答案与解析

    four hours

    六点到十点是four hours,计算的是到十点累计的时长,不能把时长误当成钟点。

今天就用起来

选一个开始时间明确的项目和未来里程碑,计算届时已持续多久,再写将来完成进行时句子。补充一个问题,说明项目在里程碑之后是否继续。