Website block on a time schedule
you can use Self-Control to create a time-schedule. Check here and here.
You could also use a browser extension, like WasteNoTime. Goto Settings->Time Allowed->Edit Settings. Here you are able to create a time-schedule. It appears that you use several browsers. I know WasteNoTime is available for Chrome and Safari. Probably also for Firefox but I haven't checked.
I have not tried using different time-windows for different websites. Normally you want to block all disturbing websites at once. There are more browser extension which block websites, you would probably have to check them. Or you could install several such browser extensions and set them to different websites and time-frames.
My preferred method of doing this is to use a DD-WRT router and block specific sites on a time basis. (See here.)
Also, Netgear offers similar functionality in conjunction with OpenDNS. (See here.)