现在完成时的has gone has been问题

问题描述:

现在完成时的has gone has been问题
where has John gone?
To the library.He has been there an hour.
第二句是不是他去那里已经一个小时了?
为什么要用has been 而不用has gone呢?
has gone 不是表示去了哪里还没有回来吗?而has been不是表示去而回返吗?

因为 他现在已经在那里了 这是可以肯定的 对于说话的人来说 他是走了还没回来
可对于JOHN自己来说 他是“在”那里的 所以这里是has been