When I'm called in to replace someone, they normally ask when I can get there, or just 'as soon as you can get here'.
You can always say, I can come in to work but I wont be able to get there until 'whatever time'. and then its up to them if they just accept it and move on or whether they reject you and try getting someone else in.
I mean, can't go against you because you said you would do the shift it was just you couldnt get there for their time.
With people above saying 'you can just say no'... that is true, but you also have to think of the consequences of doing so. If you regularly knock back shifts then your employer will think you don't want to work - so your reputation will be hindered and could possibly result in less/no shifts for you. I normally say Yes unless there is a reason why I can't do the shift. If I say no and my reason wasn't that strong (e.g. wasnt like 'sorry I have TAFE'), then I try and make sure I say yes the next time - so not to make it a habit.
So to answer the question. I don't think there is a requirement in terms of how much notice they give an employee, but most I assume would be realistic and appreciative that you say yes even though you might not be able to make it on time.