不是现在完成时一定不能表示年龄,这主要看是否有这样的语境需要。比如给你的句子加个背景看看:
The temple has been 100 years old, but it is still as strong as anything. 这座寺庙已经有100年的历史了,但它仍然坚固得很。
又如下面这句也将现在完成时用于了年龄,完全正常:
Tom has been ten years old but he still clings to his mother all day long, his little friends all hold him up to derision for this. 汤姆已经十岁了,但他仍然整天缠着妈妈不放,他的小朋友们为此都嘲笑他。