Had better is used in English to give advice about a specific situation. Despite the fact that verb to have is used in its past form, the phrase relates to present or future. Look at the examples below:

You had better go now if you do not want to miss the train.

We had better stop and eat something.

I had better get back to work before my boss appears.

Had better, especially in speech, is often used as ‚d better:

You’d better tell me everything.

Had better can often be replaced by should. However, should and had better not always can be used interchangeably. We use had better to give advice about close future, one specific situation, whilst should is used to give more general advice. Compare:

You’d better start learning now if you want to pass your exam.

You should learn more if you want to find a good job later.

In the second example a more general advice is given, not a specific one. You can’t had better then.

Should, in turn, can be used both for general advice, as well as for advice about specific situation. The difference is that suggestion with had better is a bit stronger. We express then that something bad may happen if we don’t follow the hint. Compare:

You should apologize to Eva for what you’ve said.

You’d better apologize to Eva for what you’ve said.
Stronger suggestion (if we don’t follow it, something unpleasant may happen).

The negative form is had better not. We use it similarly:

You had better not tell her what happened.

You’d better not come to the party.