i would have used an rtc that could keep time accurately up to a onth and hook it up to a system that can set it every day.
I've tried ds1307...but it needed me to set time every month so i did this thing... hooked it with my computer vis usb to ttl which sends current time to my atmega8 every time it turns on.