She should be here by now.=She should have arrived here by now.
好像从没看到过She should have been here by now
should have been here是过去应该在这但现在不在的意思吗
那么也应该说She should know the news by now
She knew the news before she read the newspaper
She should have known the news before she read the newspaper
by加时间名词作状语,表示谓语动作的发生不迟于该时间,not later than, before.
通常谓语动词为动态动词表示事件时,常用完成体。静态动词则用一般体。例如:
He will be here by 2.
He will have arrived by 2.
know为静态动词,在by表示的时间之前知道,那么在by这个时间肯定还是知道的,所以通常不用完成体。
before从句作时间状语,由于连词本身已经清楚表明了主句和从句动作的时间先后,所以主句用一般体或完成体都可以,用一般体为更多见。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
should have done 表示过去本该做而实际未做,与过去事实相反。
“She should have arrived here by now.”这句是不成立的,时间不一致。 应该是:“She should have arrived here by then.”“到那时她本该到那里了,而实际未到。与过去事实相反”
She should be here by now. 句子是可以的,意思是“到现在为止她应该到这儿了,(暗含她现在还没到,与现在事实相反)”
She should know the news by now. “到现在为止她应该知道知道这个消息了”(暗含她现在可能还不知道,与现在事实相反)”
She knew the news before she read the newspaper . 是错句
She should have known the news before she read the newspaper . 是对的。“在她(过去)读报纸之前,她本应该已经知道这条消息。(而实际不知道,与过去事实相反)”
这些都是虚拟语气范畴的句子,与表面意思是相反的。
by now = 与现在相比稍微早一点的过去 = slightly before now
这个词有点心理期待的意味:“最后期限”。
常与过去时及现在完成时连用
Usually by now I've finished my homework.
比如到现在(为止),的一个惯常事件。
You were supposed to do sth. by now.
意思是,到现在你该做什么了。
以上语义上是现在之前做,到现在这个期限为止。
---------------------
They should have arrived by now. √
很正常的句子
-----------------------
1. She should be here by now.
2. She should have been here by now.
客观上2句意思相等
3.She should have arrived here by now.
句3与2也相同,但更注重动作
比如说某个人数小时前, 想必就
3. 回到家了
2. 已经呆在家了
句子1,now/by now都可用。
好像从没看到过She should have been here by now √
真的是你没看见而已