Можно использовать выражение had better вместо модальных глаголов should и ought to, особенно в разговорной речи.
Посмотрим на примеры:
— You ought to finish your homework today. – Тебе следует закончить домашнее задание сегодня.
— You had better finish your homework today. — Тебе лучше закончить домашнее задание сегодня.
Had better выражает предупреждение или угрозу. C should или ought to вы даете совет или выражаете свое мнение о том, что нужно сделать. Однако had better означает, что что-то плохое случится, если лицо не слушает вас. Так и получается с нашими примерами.
В первом предложении предполагается, что у вас есть выбор. — Я думаю, будет лучше, если ты закончишь домашнее задание сегодня, но все же я полагаю, что это необязательно.
Второе предложение говорит нам о том, что у лица нет выбора, и если он не сделает то, что я ему сказал, случится что-то плохое.
С had better можно поместить плохие последствия в предложение, например: You’d better hurry or you’ll miss the train.
Однако это выражение не используется, когда говорим о прошлом или, когда даем комментарий о чем-либо:
— You ought to have caught a later train. (not You had better have…)
— I don’t think parents ought to give their children sweets. (not…had better).