Конструкция had better имеет значение, схожее с модальными глаголами should и ought to, так как они выражают совет, наставление, обязанность. Однако, конструкция had better более эмоциональная, имеет значение угрозы или отчаяния.
Конструкция had better используется в особых, конкретных ситуациях, когда нужно что-то сделать, чтобы избежать плохих последствий. В остальных случаях (общие законы, правила, советы, обязанности) используются модальные глаголы should и ought to.
- You’d better stop talking or the teacher will turn you out of the classroom. – Тебе лучше прекратить разговаривать, а не то учитель выгонит тебя из класса. (нежелательное последствие)
- You should brush your teeth every day. – Ты должен чистить зубы каждый день. (правило)
- I ought to visit my grandma every week. – Я должен навещать свою бабушку каждую неделю. (обычная обязанность)
Конструкция had better используется только для настоящего и будущего времен. Для прошлого времени используются should и ought to.
- You had better pay your bills tomorrow. – Тебе стоит оплатить свои счета завтра. (будущее)
- You should have paid your bills yesterday. – Ты должен был оплатить свои счета вчера. (прошлое)