关于should be,should have been的疑问

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


如题
请先 登录 后评论

1 个回答

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 . 是对的。“在她(过去)读报纸之前,她本应该已经知道这条消息。(而实际不知道,与过去事实相反)”这些都是虚拟语气范畴的句子,与表面意思是相反的。
请先 登录 后评论