He saved money for years .
可翻译为:他存了多年钱.
这个句子的表达没有错误.关键信息【for years 】——是【表示一段时间的时间状语】,要求与【持续性动词】连用.这里用来表达【saved money攒钱】这个过去动作持续了很多年.
当然,这句话还可以用其它时态形式:
He has saved money for years【现在完成时,强调过去发生动作对现在造成的影响和结果】
He has been saving money for years【现在完成进行时,强调动作从过去开始,持续到现在,还可能会继续下去】
这些时态形式,其实都是服务于语言表达的.因此,多结合生活实际理解应该更好些.
祝你开心如意!O(∩_∩)O~~