have to和must 区别:
1) 两词都是'必须'的意思,have to 表示客观的需要, must 表示说话人主观上的看法,既主观上的必要。
My brother was very ill, so I had to call the doctor in the middle of the night. 我弟弟病得很厉害,我只得半夜里把医生请来。(客观上需要做这件事)
He said that they must work hard. 他说他们必须努力工作。(主观上要做这件事)
2) have to有人称、数、时态的变化,而must只有一种形式。但must 可用于间接引语中表示过去的必要或义务。
He had to look after his sister yesterday.
3) 在否定结构中: don't have to 表示"不必"
mustn't 表示"禁止",
You don't have to tell him about it. 你不一定要把此事告诉他。
You mustn't tell him about it. 你一定不要把这件事告诉他。
4) must表示推测,have to不可以
1' must用在肯定句中表示较有把握的推测,意为"一定"。
2' must表对现在的状态或现在正发生的事情的推测时, must 后面通常接系动词be 的原形或行为动词的进行式。
You have worked hard all day.You must be tired. 你辛苦干一整天,一定累了。(对现在情况的推测判断)
He must be working in his office. 他一定在办公室工作呢。
过去完成时与过去时的区别:
1)一般过去时表示过去时间发生的动作或存在的状态;
He went home yesterday. 他昨天回家了。
过去完成时表示在过去某一时间或动作之前己完成的动作或状态,即“过去的过去”,常与by,before等表示过去的介词短语连用。强调过去某一动作发生在另一动作之前时,常用过去完成时。如:
He had gone home when I got to his office. 当我到他的办公室时,他早已回家了
By the end of last term-we had learnt about 1,500 English words. 到上期期末,我们已学了大约1500个英语单词。
2)在连词before,after引导的从句中,由于连词本身的意义己说明主句和从句两个动作先后发生的关系,两个动作都可以用一般过去时,有时也可用过去完成时,强调动作的完成。如:
After he had arrived in England, Marx worked hard to improve his English.马克思到英国后,他努力学习以提高英语水平。
He went on watching TV. after his father (had) left. 他父亲走后,他继续看电视。
Marx had learnt some English before he got to England. 马克思到英国之前就学过一些英语。
must 是主观条件的必须
have to是客观条件造成的不得不
可以根据语境选择