例子 I have been on a diet for better part of my life

问题描述:

例子 I have been on a diet for better part of my life
have been 如果是过去完成时的被动语态后面应该是done,为什么会出现介词呢?
还原应该是怎么样?或者这根本不是被动词态.
请指导!

been on a diet 在这里是作为一个词组的,不应该分开来解,还原就是be on diet