i dont beleive that 21 days or 100 days or one day are accurate
i have tried such approaches as well i committed myself to go to the gym for 3 months ... and i was going every day for a month then i decided to take a break for few days and then i never show up
later i thought the reason is that i was moving too fast so instead of join every class and work on machines every day i decided to take only classes for three days in the week for a month ... guess what? i went for a day and never came back
and now i bought a treadmill and kept it at my house i was working on it every day but i decided to take a break because i made an operation in my ear but i am sure this time i will come back why? i have a new plan
write a note that reminds you of your goals ... "your new habits" and why you decided to do so ... write the number of days if you want for how long you are committing to it ...etc whatever that can motivates you and that motivated you to start working on this habit in the first place... then place this note in a place where you can see it and keep reading it every time you feel you need to or read it in a regular basis ... i think we tend to get lazy and therefore even if you committed yourself for a year ... sometimes it would be easier to let go and return to the way you were
i always promise myself to do things .... and sometimes i do break my promise but instead of keeping it broken i renew the promise and start over .... every time for ever ... dont wait for a period to end up that works for me i hope it will work for u too