来个英语语法高手~It has been _____a year since we last heard from him.It has been _____a year since we last heard from him.A.for B.within C.after D.over这是高中语法书上的历年真题 翻译为 自从最后一次收到他的信已经一年多了.问:为什么A不可以?for+一段时间不是典型的现在完成时的时间状语吗?翻译为自从最后一次收到他的信已经有一年了.

问题描述:

来个英语语法高手~It has been _____a year since we last heard from him.
It has been _____a year since we last heard from him.
A.for B.within C.after D.over
这是高中语法书上的历年真题 翻译为 自从最后一次收到他的信已经一年多了.
问:为什么A不可以?for+一段时间不是典型的现在完成时的时间状语吗?翻译为自从最后一次收到他的信已经有一年了.

题目不严谨,A,D均可

it has been表示过去已经发生过的事

你说的没错for是可以加一段时间,比如He has been taken to the hospital for 5 days.但前提是主语不是时间,而这句话的主语是时间.It has been over a year since we last heard from him.自从我们最后一次收到他的来信,已经有一年多了.

你好,等你题目做得多了你就能通过读也判断得出来,显然这里的for是要省略的,It has been a year。。。这个是对的,现在你就记住这个结论吧,It has been+一段时间+since。。。这是个固定的用法,明白了吗?