If there had not been a hard layer of rock beneath the soil 这句话为什么要用过去完成时呢?they would have completed the job in a few hours.

问题描述:

If there had not been a hard layer of rock beneath the soil 这句话为什么要用过去完成时呢?
they would have completed the job in a few hours.

这是个虚拟语气,表明这个if条件句假设的情况和过去相反。
如:If you had followed my advice last night, you would not have met so much trouble.
如果你昨晚听从我的意见,你就不会碰到那么多的麻烦了。(即:你昨晚没有听我的意见)

只有这半句话吗?

这是表示与过去事实相反虚拟语气在条件状语从句中的动词形式【had+过去分词】,不是过去完成时,尽管形式一样
不信你接着看后面的主句,里面的动词形式就是【would + have + 过去分词】