Time is a tricky thing, and everyone has a unique way of internalizing it. When you go into business, freelance or get a job you need to be more than just fast, you need to be able to estimate how long you will take to work on something.
The best way to do this is to practice what you do, and time yourself. When I was asked to develop my first WordPress site for a client, I used the weekend to build a site from scratch before replying. Building that site give me a sense of the systems I had to work with, and the speed I could work in them (Custom CSS was what sold me!).
Once you know how fast you are, double that time. Your experimenting speed is always faster than you client work speed. So you should budget for twice as long in development.
Once its developed, you’ll have to fix it to. Fixing can include client requests, bug fixing, technical errors, etc. These are going to happen, and you client will appreciate it if you don’t hassle them, they will already be freaking out if something goes wrong, so budget this into your service. That way you get a reputation for being accommodating without loosing profit or falling behind schedule. For the fixing stage I’d take your original time and add it on again. So now you are planning three times a s long as you originally timed.
Three times as long seems like a lot, even tele days when I pitch a client on that timeline I have second thoughts, but having that padding always seems to pay of, and it keeps you form going insane under the pressure. Best case, you finish early and the client gets extra time to revise, or gets to print earlier, worst case work three times longer than you though, and you client gets their product on time (And you get paid for it)!
24 hour time is the right time, please disagree in the comments (;