have been on 的用法

The film has been on for an hour.

这句子翻译为“电影开始一小时了”么?

可以把 has been  替换为 was  或者 is 么?

请先 登录 后评论

最佳答案 2019-04-14 16:55

你的翻译是对的。现在完成时(have+过去分词)表示从过去某时开始的动作一直持续到现在并有可能继续持续下去。通常有两个比较明显的时间状语标志:for+时间段,since+时间点。电影就是从过去开始一直持续到现在,有可能继续下去。was只表示过去的动作或状态,不与现在产生联系,is则不与过去产生联系,均不能替换have been.
请先 登录 后评论

其它 2 个回答

曾克辉  
擅长:英语考试

电影已经放映了一个小时,但还没有结束(即还在继续放映),故不可用is或was代替has been。

请先 登录 后评论
陈才   - 英语教师
擅长:中考英语,词法问题

The film has been on for an hour.

相当于下面句子意思

=It is an hour since the film began.(正式语体)

=It has been an hour since the film began(非正式语体)

持续性动词+时间段for an hour的现在完成时态,属于从过去某一时间到现在所经历的时间总长度,属于未完成用法。表示动作还在持续。

请先 登录 后评论
  • 1 关注
  • 1 收藏,20959 浏览
  • christy133 提出于 2019-04-08 21:23

相似问题