请教英语语法 几个关于完成时与 过去时之间关系的问题

1.I was to have told you about it, but haven't found time to do so. 请问这个句子中的“haven't” 可以换成 didn't 吗? 改换后还可认为两句意思一致吗?

2.He says he have seen Bob that morning. 将这个句子中的 "have seen" 如果直接改为 saw ,虽说翻译上从“已经见到”变成了“见到了”但这样在语法中是否正确或在口语中有允许的说法吗?

3.I knew he was killed in 1970. /I knew he has been killed in 1970. 两句可否互换?

我对这几个问题一直处于迷惑中,有的时候不知道该用什么时态才对,很模糊的记得小的时候老师好像说过过去时与现在完成时有时是可以互换的,我的印象对吗?如果对的话那么都是在什么条件下才可以互换、并且句意是完全一样吗 还是各有侧重? 问题挺多的 请您详细帮我解答一下 谢谢!!

问题补充:还有一个问题:
I know she was killed by Bob.
如果想把此句改为 : I knew ......
考虑时态呼应,应当怎么改呢?

如果改成:
一。I knew she has been killed by Bob.
二。I knew she had been killed by Bob.
这两句之间哪句是对的呢,那么错的那句错在什么地方?

我对这几个问题一直都很想彻底弄清楚,所以那些好心的回答者,如果对答案并不是多么透彻的了解,那么就请不要再回复那种含糊的答案了,还有请不要只给我讲这几个时态的基本知识,我想了解的是在这些情况下的问题,谢谢了。
谢谢二位的回答!

好多问题 一个一个来
1. 用haven't表示 到现在还没有找到时间告诉你 改成didn't表示 之前想告诉你的时候 当时没有找到时间告诉你

2.这句话本身有问题
用一般现在时says作谓语 对应时间状语that morning不太合适
可以改成this morning
另外 通常情况下 转述他人的话语是 通常是在他人叙述之后
所以 应当使用过去时
He said he had seen Bob this/that morning.
使用完成时 表示需要见 已经见到过了
使用过去时 表示看到了
都是可以的

3.这两句不能互换
kill是瞬间动词 没有完成时态
完成时用于延续动词 表示刚状态的一个持续性
这句话这样表示
I knew he was killed in 1970.
I knew he has been dead since 1970.

过去时与过去完成时 是绝对不能互换的
两者谓语动词表示的状态不同 意思绝非相同
每句话都是必须根据其发生的时间以及该动作的状态决定正确的动词形态

补充问题:
know这个词相当特殊
当说I knew ..时 并不是表示动作发生在过去
而是表示强调我早就知道了
所以两句话其实都不正确
从句的动作发生在主句之后
当主句使用一般过去时时 从句应当使用过去完成时 对于这句话并不适用
应当改为I knew she was killed by Bob.

如果是考试遇到know这个词 建议放弃分数
正如前述 时态必须根据动作时间与动作状态来决定
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-09
1 可以替换,都能表示原本我是想告诉你的,可我并没有找到时间来告知。只是用HAVEN'T就强调了没告知此事的一个隐性后果,,而DIDN'T就只是单纯的没找到时间所以没告诉你这件事而已。
2 可以替换,宾语从句中主句时态为现在时时,从句可根据具体所需搭配任何时态,只是前后者强调的不同而已。
3 不可
补充问题中第二句是对的,因为此时如果想表示过去的过去,只能用过去完成时。即她的死客观的存在于我知道此事之前。而知道又给的是过去时态的范畴,所以从句应用过去完成时。。
即同第3个问题一样,,,根本不能用现在完成时。