A 和 C 是现在完成时
B 和 D 是过去完成时
从时间状语从句 When he arrived at the bus stop 当他到达公交站时,是一般过去时,而主句 the bus had been away for 20 minutes 发生在从句之前,要用过去完成时,排除 A 和C
B had left中的leave 是终止性动词,不能和表持续的时间状语 for 20 minutes 持续 20分钟连用,所以答案:D had been away 中的 be away 是可延续性的,可以和 for 20 minutes 搭配.
不明白的再问哟,请及时采纳,多谢!