"i have been for a long time"中,"have" 为什么不用"had"?"been"不代表已经结束了么?

问题描述:

"i have been for a long time"中,"have" 为什么不用"had"?
"been"不代表已经结束了么?

表示过去的过去,用had.

for a long time是现在完成时的标志 用have

第一人称的现在完成时态只能用have

had 要在过去时间状语中

因为是动作直到现在还没结束,所以就不用had