If it had been fine,we would have gone to the park.为什么此句中的“如果天气好的话”要用过去完成时,还有have gone是表示”去过还没回来”的意思,为什么这句话中要用它呢,用have been不是更好吗

问题描述:

If it had been fine,we would have gone to the park.
为什么此句中的“如果天气好的话”要用过去完成时,还有have gone是表示”去过还没回来”的意思,为什么这句话中要用它呢,用have been不是更好吗

这是go to the park的虚拟,跟你说的那无关.
自己理解一下

当我们谈论过去没有发生的事时[设想如果情况不是那样就会发生什么情况]就使用"if+过去完成时"这个结构,在这个句子的其余部分使用完成时态的条件式.其实是种虚拟

这是个虚拟语气,意思是"如果天气好的话,我们就已经去过公园了." 实际上因为天气不好,他们基本就没去公园,这是对已经发生过的事情的虚拟. 这是对过去已经发生事情虚拟的固定的格式,一般假设句里用过去完成式即had done sth.,结果句里用would/could+ have done sth.
对现在的虚拟格式是: 假设句用did sth., 结果句用 had done sth.
对将来的虚拟格式是: 假设句用do sth., 结果句用 would/could +do sth.
这都是固定的格式,考试中十分常见,只要记住了,就不会丢分的.

这句意思是说如果天气好的话,我们现在还在公园呢,所以说明实际没去,只是虚拟

这个是虚拟语气,表示对过去不可能发生的事的假设,意思是说“如果天气好的话,我就已经去公园了.”但是天气好这件事情现在是不可能的,所以用虚拟语气 have been只是对过去已经发生的事情的叙述,强调其对现在的影响