the supermarket had been open for three hours when i got there

问题描述:

the supermarket had been open for three hours when i got there
Had been 是什么时态,open为什么不加ed?

Had been是过去完成时态.
open 表状态,不是表动作表示“开着的” 而close表状态是需要加ed才表示“关着的”