How should I understand this sentence?
He might have had to stay late tonight.
"might have had to stay" implies that the "stay" happened in the past, but "tonight" is a future time. I'm confused.
I know where the problem is. Is this sentence a subjunctive mood or it's just a normal statement in past tense?
If it's a subjunctive mood, it's perfectly normal.
He might have had to stay late tonight. (But now he has left.)
If it's a normal statement in past tense, it sounds a bit odd. Because we don't know when he will leave, it may occur in the future.