(1)by后接将来时间,谓语动词如果是动态动词表示事件的发生,通常用将来完成时。例如:By the end of next month,I will have gone to Shanghai. 如果谓语动词为系词be表示状态,则用一般将来时。例如:By the end of next month,I will be in Shanghai.
(2)by后接现在时间通常就是by now. 通常by now是不言而喻的,所以一般都省略了by now. 句子通常用现在完成时。例如:( By now)I have learned 6 English songs.
By the end of this term并不是现在时间,你说话的时候这个学期还没有结束,所以这是将来时间,谓语动词要用将来完成时。例如:By the end of this term I will have learned 6 English songs.
(3)by后接过去时间,谓语动词表示事件时用过去完成时,例如:By the end of last month,I had read 3 books. 如果谓语动词为系词be表示状态,则动词用一般过去时,例如:By the end of last month I was already in Shanghai.
如果说话人给听话人一个做某事的最后期限时,通常by后接最后期限的时间,谓语动词用have to do或者must do形式。例如:房东对房客说,You must pay the rent by next Friday.老师对学生说,You have to hand in your paper by the end of the week.