(a) Ich bleibe bis heute Abend bei uns.
(b) Ich bleibe bis zum Abend bei uns.
(a) That's until the evening
(b) is the maximum evening? I don't mind going out before evening?
(a) Ich bleibe bis heute Abend bei uns.
(b) Ich bleibe bis zum Abend bei uns.
(a) That's until the evening
(b) is the maximum evening? I don't mind going out before evening?
In (a) you are explicitly specifying today's evening (heute = today), while in (b) you mean that evening, that makes the most sense when you know the context. Without having this context, I would guess, it's today's evening, but when the context makes another evening more plausible, then it will be this other evening.
Here are two examples:
Ich muss jetzt mal zum Baumarkt, ich bin aber gegen 14:00 Uhr wieder daheim und bleibe dann bis zum Abend bei uns.
I have to go to the hardware store now, but I'll be back home around 14:00 and then stay with us until the evening.
In this example you also could have said, "... und bleibe dann bis heute Abend bei uns." = "... and then stay with us until today evening." It would mean exactly the same in this context.
In zwei Wochen werde ich am Samstag am Vormittag bei Tante Julia sein. Danach fahre ich wieder heim zu uns und bleibe dann bis zum Abend bei uns.
In two weeks I will be at Aunt Julia's on Saturday morning. After that I will go back home to us and then stay with us until the evening.
In this example bis zum Abend does not mean today's evening, but the evening of Saturday in two weeks. Saying "bis heute Abend" = "until today evening" makes no sense when you talk about the Saturday in two weeks.
Heute Abend = This evening Bis zum Abend = Till the evening
The second phrase does not explicitly tell what evening. In most cases, it means this evening, though.