将来完成时Ishallhavebeenworkingherein
I shall have been working here in this factory for twenty years by the end of the year. 到今年年底,我将在这个工厂工作20年了 Will you have known Kevin for 10 years next month?   到下个月你认识凯文该有10年了吧? 为什么前一句时间状语前要用by而后一句则不用呢。且所表达的意思却差不多呢
其实第二句next month前也是可以用by的。通过语料库查询美国当代英语用法就可以证实这一点。