david ____ for the whole three hours

问题描述:

david ____ for the whole three hours
A.skated B.skates
C.have been skating D.has been skating
D还是A?因为题目中有the,说明三个小时是特指,就不是现在了,

我觉得D吧、
因为three hours是一段时间,前面应该是现在完成进行时那为什么不说David has been skating for whole three hours呢?为什么还要the呢the whole固定搭配三个小时整