We generally use HAD BETTER (NOT) + infinitive (without ‘to’) to tell someone what they should or shouldn’t do, to give strong advice. It has more urgency than ‘should’.
The expression HAD BETTER refers to the present or the future. It does NOT refer to the past despite the ‘had’ and it isn’t a comparative either.
It simply means ‘it would be good to …’
I had better start cooking the dinner or we’re going to eat very late.
Had better is often shortened: I’d better, you’d better, he’d better, she’d better, it’d better, we’d better, they’d better.
He‘d better arrive soon or he’ll miss the start of the film.
It‘d better not rain. I didn’t bring an umbrella.
You had better run or you’re going to miss your bus.
Your exam is in just a few days so you‘d better start studying.
It’s getting late. I‘d better go.
We often warn of the consequences if the advice is not taken.
You’d better phone your dad, or he’ll be worried.
It’s really late. The children had better go to bed or they’ll be really tired for school.
You‘d better not tell Sarah you had dinner with her ex-husband. It would upset her.
HAD BETTER is also used to express a strong hope or even a threat.
The train had better get here soon or I’m going to be late for work. (strong hope)
There had better be some orange juice in the fridge. I’m so thirsty! (strong hope)
They‘d better not show any more adverts or I’m going to turn off the TV! (threat)
“I’ll pay you back tomorrow.” – “You’d better!*” (threat)
NB. This is important!
For general situations that don’t refer to a particular time, we use ‘should‘ rather than ‘had better‘.
For healthy teeth and gums we should brush our teeth twice a day.
Students shouldn’t use their phones during the class.
You really shouldn’t smoke Bryan, it’s so bad for you.
We should do more to look after nature.
* = You’d better pay me back!