but for要不是 本身就含有对于已发生的事情的一种假设,所以表示的是过去的某一个状态举个例子:But for his help ,i couldn't have made such big progress.要不是他的帮助,我不会取得如此大的进步!
给你一个公式(基本上是这样):虚拟语气里,表示对现在虚拟的时候,主句谓语动词do变did,从句变would do;表示对过去已发生的虚拟是,主句变have done从句变would have done(注,有时would可用could、might、should等词语代替