表示过去的虚拟语气用于假设一个与过去事实相反的情况。在汉语中相应的表达是“要是(如果)……(的话), 就……”。

1) 基本句型: 条件句谓语: 过去完成时 + 主句的谓语: would/might/could/should + have + 过去分词。
If you had arrived a little earlier, you would have seen her. 如果你早一点到,你就会见到她。
If I 'd been not busy yesterday, I would have come to your party. 如果我昨天不是很忙的话,我就参加你的派对了。
I could have finished the task if I had had more time. 如果当时我能有多一点时间,我就能完成这项任务。
I should have finished reading it by Friday, if you had lent me the book two days earlier. 如果你提前两天借我那本书,我周五就能看完。
He wouldn't have made such a mistake, if he had taken my advice. 如果他听我的劝告的话,就不会犯这样的错误了。

2) 条件句中常用的一种句型是 have not been for, 意思为 “要不是”。
If it had not been for your help, I would have failed. 要没有你的帮助,我就失败了。
If it had not been for your guide, we could have never found the house. 要不是有你做向导,我们永远也找不到房子。
If it hadn't been for your umbrella, I might have got wet yesterday. 要不是有你的雨伞,我昨天就要淋湿了。

3) 条件句也可以采用倒装语序。
Had we got there earlier, we would have caught the train. 如果我们更早到达那里,我们就会赶上火车。
Had they not helped me, we should have failed. 假如没有他们的帮助,我们就失败了。
Had it not been for his family, He might have gone away long ago. 要是没有家眷拖累,他早就远走高飞了。