I really can work better on budgeting my time. I had quite a few times that I thought I could spend X hours on certain tasks and on certain days and thus I booked time for them (even during holidays). However, when the time came, I agonized that why I made that time budgeting and promises to others on completing these tasks, either because I had other conflicts, or underestimate how much time they took me.
One solution that I'm going to try out is that before I make promise on certain tasks, I need to think thoroughly about items that may have impact on time, and take those into consideration.
It takes time. Practice will make it better.