答案选C. would spend
【解析】这是一个虚拟条件句,也就是我们常常说的虚拟语气.
“我希望约翰(将)在非洲度过一整年,但是他仅仅呆在那3个月.”事实并不是作者所希望的,所以首先判定是虚拟语气,而且与过去事实相反,因此选择过去将来时.