It was three years since Jack had been a teacher.

It is three years since Jack was a teacher.

请问这两句的不同之处吗?分别的意思是?第二句为何不需要has been呢?

It was three years since Jack had been a teacher.

这个句子有歧义:在主句was所表示的那个时间,杰克可能还是教师,也会不再是教师了。由于过去完成时可能表示的是”过去的过去“的时的意义,也会表示更早的过去持续到较后的过去的状况的体的意义。

since从句表示主句的状况或事件的持续时间的起点,当从句的谓语为静态动词表示状况,过去完成时态既可能表示该状况在主句谓语时间仍然存在着,也会表示在主句谓语时间已没有的过去的过去的状况。因此,本句既能够理解为”杰克不当教师有三年了“,也可以理解为”杰克当教师有三年了’。为了防止歧义,从句最好使非延续动词,比如since Jack became a teacher. 或者since Jack quit his job as a teacher.

It is three years since Jack was a teacher.

这个句子没歧义。主句为目前时,假如从句谓语为静态动词表示的状况,且该状况在主句在目前已不复存在,则该静态动词用一般过去时,since的时间从该状况的结束点算起。本句的意思为,从杰克改行不再当教师的那天算起,到目前有三年了。翻译:杰克离开教室职位改行干别的已经有三年了。(杰克目前不是教师了)

假如这个句子从句谓语改为目前完成时,意义则不同:

It is three years since Jack has been a teacher.

杰克当教师已经三年了。(杰克目前还是教师)