我在多年前也向老外问过同样的问题 可惜外部链接不允许,只好费力做几点摘要: 前提:Martin Hewings: ADVANCED GRAMMAR IN USE 问与答 (1) He should have finished the task yesterday. 两句都指过去。 第二句是更晚的时候指(过去了的)下午,不是上午指下午。 后者应该用He should finish the task this afternoon. (2) 1. He should have finished the task this afternoon. 即使把说话点定在早上, by 5 p.m 仍然会理解为是过去的意思。(昨天) 比照马汀的句子: He should have finished the job by 5 p.m. By the time you get home I should have cleaned the house. 这两句时间状语的不同在于,前者没有参考事件,后者有 '... we use the future perfect to say that something will be done before something else occurs in the future. We don't use the future perfect by itself without a reference to something else that will be going on.' Saying something like By the time you get home,... is an example of something else that will happen in the future. 也就是,this afternoon 或 by 5 p.m. 这种时间状语都没有说到未来的事件 指过去:
指未来:
(请注意表事件的从句) 你的题目,只有一个意思:我本来在上周五就该完成这工作的。 (should现在一般不太用于推测,should have done也如此,虽然马汀的话里似乎有点可以表推测的含义) 很高兴还看到自己的问题在外文网上被列为经典收藏 只是物是人非。。。 |
|