[文法] 关于现在完成式的文法疑问

楼主: jyokairin (水龙吟)   2020-10-26 11:06:06
大家好,
这几天在某英文学习杂志上阅读到以下例句:
leak out (秘密)走漏
The news of the CEO’s retirement should have been kept secret until next
month, but it somehow leaked out yesterday.
(执行长要退休的消息到下个月前应该都要保密,但昨天却不知怎地泄漏出去了。)
句中的“should have been kept”是“现在完成式”没错吧?
不过看了现在完成式的文法规则,
基本上是用在表达“有过的经验”或是“从过去某时开始,一直持续到现在的动作或状态
”等等,
而句中退休的消息已经被泄漏出去了,
换句话说已经没有持续到现在了,
为何还可以使用“现在完成式”呢?
另外该句的前半段是否也可以改成如下“现在简单式”的写法?
The news of the CEO’s retirement “should be kept secret” until next month,
but it somehow leaked out yesterday.
如果可以的话,这两句有什么差别吗?
因为对时态之间的差异及语感还是不太能分辨,
所以想请教板上的各位前辈们,谢谢。
作者: A1right (Chris)   2020-10-26 12:43:00
should have + PP 中文应该是 本来应该意思是 退休消息本来应该要保密到下个月 但昨天流出流出就流出了 我觉得不能用现在简单式去写"应该"的语气should have, could have, would have 建议你可以参考相关用法我当初也是花了一些时间 厘清这三个不同的概念
作者: sadlatte (伤心拿铁)   2020-10-26 12:56:00
Should be kept 应该被保密(原则上来说,无关过去现在未来) should have been kept 应该要被保密好(只过去这段时间不应该发生泄密状况) 因为should基本上看不出时态 虽然是shall的过去式但是通常是被当成礼貌语气而不被当过去式看 再加上should后面只能接原型不能接过去式所以要看出事件已经发生 就要用完成式 你也可以用完成式的“直到现在”的特性来解释should have been kept:过去这段时间应该要守好秘密才对中文的话可以当作“本应该”被保密好才是 (不建议太依赖翻译学习)
作者: euruing (没了灵魂的躯壳)   2020-10-26 13:25:00
助动词+have pp. 都有悔恨的感觉。原本 但却没有。should/could/would/might have pp =原本 应该/能/会/可能... 但却...
作者: A1right (Chris)   2020-10-26 16:04:00
那请问一下 might跟could have 有什么差别? 好像还有mayhave 呢....
作者: sadlatte (伤心拿铁)   2020-10-26 16:52:00
语气跟概率的问题 估狗应该很多搭配图片的解释
作者: euruing (没了灵魂的躯壳)   2020-10-27 01:43:00
这两种比著学真的很容易眼花花,我的记法是 should be pp被动式描述事实,与时间较无关。should have pp 想成...should + 过去完成式 (should+had pp = should have pp)。补充s大所述,如果保密是事实(should be pp) 则过去、现在、未来都应该要保密。
作者: A1right (Chris)   2020-10-27 09:46:00
简单说 should be的用法在这边 代表你还有选择 不过句子的意思是 已经泄密了 你没有办法逆转这个事实了 只能用should have. 就像中文讲应该 可以共用你这两种情况 但英文不行, 英文文法比中文严格一些
作者: oosh0329 (rickes)   2020-10-27 12:42:00
should have+pp是当下对于更之前的事情相反的描述I should've gone that party. It sounds fun! (没去)It's raining. You should've brought an umbrella(没带should be kept不行是因为后文已经表达已泄漏最后面改成It mustn't leak out.应该就可以
作者: sadlatte (伤心拿铁)   2020-10-28 02:25:00
有些字主动被动都可以

Links booklink

Contact Us: admin [ a t ] ucptt.com