on the next birthday .Ann( )married for twenty years.A is B has been C will be D will have been

问题描述:

on the next birthday .Ann( )married for twenty years.A is B has been C will be D will have been

选D..will have 加动词的过去分词(been)是将来完成是的构成,表示到将来某一时间已经完成的事.下个生日是将来的事,而后面的for 2oyears是完成时的标志.所以用将完成时.(翻译见16:44回答那人)
A 动词原形或单三形式是一般现在时,B has 加动词的过去分词(been)是现在完成时,表示 现在 已经完成的事,不是将来.C will 加动词原形是一般将来时,与完成无关.