I have to say that within a reasonable time is fine - although agree it could be confusing to a young child. But if they're that young (say under 5), they probably don't even know what day it is and you could just play up whatever day you wanted (THURSDAY we're going to the MAGIC KINGDOM for your BIRTHDAY!) and just celebrate it that way. If they're older, they should be able to understand and say politely either "Thanks!" when wished a Happy Birthday or if questioned further, say "Actually my birthday was Saturday, but we're celebrating it today."
We've gone twice for DH & oldest DS's birthday (they're a day apart). First time was when DS actually turned 3 at the parks and we got him a button (and DH the previous day). Went to DL for a week many years later and the last day in the parks was DH's birthday and DS's (11th) was the following day when we were flying home so we got buttons for both of them that day. Went fine until DS got on Millionaire at DCA and the host asked him "So - today's your birthday? How old are you?" And he was like "10, I mean 11!" So of course they asked him if that was his final answer!
We went a couple years ago about a week before my birthday and I have to say I never considered getting one. But when we go next summer, it will be 5 days after middle DS's birthday, who's seen his brother and dad get them, but not him. So yes, one of the first 2 days we're there, which will be within a week of his birthday, we'll get him a birthday button and he'll wear it. The other days at the other parks, we'll get him one so he has a whole collection from his birthday trip, but he'll only wear it one day and pretend it's his actual birthday. If he gets something (other than the $10,000 mentioned above), great. If not, at least a lot of people will recognize him. He was a planned C-section (breech) so who knows? Maybe it will be his "intended" real birthday!
Youngest DS has never been for his birthday, and since it's in May and he's now in middle school, probably won't - at least not with us! But he can certainly understand the difference between a couple days and a couple months!