“He had already posted the letter by five yesterday.”为什么要用介词"by"?

问题描述:

“He had already posted the letter by five yesterday.”为什么要用介词"by"?
这是一道选择题:选项有A.on B.at C.by D.for
我选择的是B,却不知道错误原因,希望告知!

by表示在……时间之前,通常与完成时连用.
完成时除非加BY否则不加具体时间.如果你用AT就不能跟完成时连用了.
随便买本词语辨析,这里介词的用法中考中可是很重要的.