For a three month old, four hours should be fine for him. I beleive they say take the months and add one and thats how many hours they can wait. So four hours should be perfect. I'm not sure if you said your crating him or not, but this will help him hold it if necessary, if the crate is small enough he wont go potty in it.
Also, they say baby pups need to go 30min to 1hr every time they eat and play hard. My 9 1/2 month old is still this way. Just something to keep in mind
Alot of people take their dog's food bowls away after 7ish so they wont have to go during the night. This might help you, too.