Skip to content

The play ____ (be) on for five minutes, and you are a little late. ❌

answer

had been ❌
has been ✅

关键语法点:现在完成时与过去完成时的核心区别

正确答案has been
错误原因:混淆了 现在完成时(has been)过去完成时(had been) 的适用场景


深度解析

1. 现在完成时的适用条件

  • 表示 从过去开始并持续到现在的动作(常与 for + 时间段 连用),且 对现在有直接影响

    • 例句:
      • The play has been on for five minutes.(戏剧已开演5分钟 → 现在仍在进行)
      • ❌ The play had been on for five minutes...(错误,缺少过去时间基点)

    本题中,后半句 "you are a little late" 使用现在时态,表明 整个句子的时间基点是现在。因此,前半句必须用 现在完成时(has been) 表示动作从过去持续到当前。

2. 过去完成时的限制

  • 过去完成时(had been)要求存在 明确的过去时间基点(如 "when I arrived"),表示 动作在该基点前已完成或持续

    • 例句:
      • When I arrived at the theatre, the play had been on for five minutes.(我到剧院时,戏剧已开演5分钟 → 以 "arrived" 为基点)
      • ❌ The play had been on for five minutes, and you are a little late.(错误,无过去基点与现在时态矛盾)

    本题中,句子未提供过去时间基点,且后半句是现在时态,若用 had been 会导致 时态逻辑矛盾(过去动作与现在状态无法衔接)。

3. 关键对比

时态适用场景例句
现在完成时动作从过去持续到现在,且与现在相关The play has been on (now you can still watch it).
过去完成时动作在过去某一时间点前已完成或持续The play had been on (before the audience arrived).

自测练习

  1. The concert ____ (start) when we entered the hall.
答案

答案:had started(以 "entered" 为过去基点)

  1. She ____ (work) here since 2020, and she loves her job.
答案

答案:has worked(从过去持续到现在)

  1. By the time he woke up, the sun ____ (rise).
答案

答案:had risen(以 "woke up" 为过去基点)


我只身前行 却仿佛带着一万雄兵