The shop has been open for 100 years.
原句中open 是个动词,且是短暂性动词就是你说的瞬间动词,不能与表示一段时间的短语连用.改后的句子中的open 是个形容词,be open表示一种营业的状态,其中的be动词可以理解为延续性动词,可以和表示时间的短语for 100 years 连用.
The shop has been open for 100 years.
原句中open 是个动词,且是短暂性动词就是你说的瞬间动词,不能与表示一段时间的短语连用.改后的句子中的open 是个形容词,be open表示一种营业的状态,其中的be动词可以理解为延续性动词,可以和表示时间的短语for 100 years 连用.