过去完成时和将来完成时

为什么过去完成时和将来完成时的时间状语要用before或者by

比如:

I will have had my lunch by 1pm.

但是不用:

I will have had my lunch at 1pm.

 

请先 登录 后评论

1 个回答

刘永科   - 教育出版集团英语总顾问 & 英语系列图书主编
擅长:语法理论,语言学,文化背景

为什么过去完成时和将来完成时的时间状语要用before或者by

——网友这句话不正确或不准确。你把 at 改为 before 也不能使用将来完成时!看我分析:

I will have had my lunch before 1 pm. (误)

I will have had my lunch by 1 pm. (正)

I will have had my lunch at 1 pm. (误)

1 pm 表示“下午一点钟”。before 1 pm at 1 pm,这二个词组虽然意思不同,但作用是相同的,都表示“将来的一个时间点”,都要用一般将来时。before 1 pm 也不例外。例如:

I will have my lunch before 1 pm. 

I will have my lunch at 1 pm.

如果用了by 1 pm.,就用将来完成时。by 1 pm 的含义是“从现在时间开始持续到1 pm 这个时间结束”,里面必须包含或暗示一个时间段。将来完成表示:在将来某一时间之前完成的动作,并往往对将来某一时间产生影响,或叙述某事持续到将来时,已经有一段时间了。

请先 登录 后评论
  • 2 关注
  • 0 收藏,1566 浏览
  • 闻鸡起舞 提出于 2021-09-18 11:36