'Tonight' and 'this evening'

Solution 1:

I would say that this really depends on the context and common understanding between speaker and hearer.

Are you available for a drink tonight?

I would understand tonight as starting after work (if asked by a coworker) and lasting through something reasonable, like midnight nowadays. If the person asked works in a bar at night, it might mean "right now", no matter whether it is 6pm or 5am.

Asking

Where will you sleep tonight?

Tonight will denote the normal sleeping period.

Best is to further specify if necessary.

Solution 2:

It depends. I think they overlap for the beginning of the night/evening, but "tonight" goes further. So you can say "I'm dining in this evening", meaning you probably won't stay up too late, but if you say "I'm going to go out tonight", it could mean that you won't stay late, but it could be 2am or 5am also. You would never use "this evening" for going out until 2am, though.