If you are using a micro, for a simple improvement to the circuit that will add a whole ton of functionality, use a Real Time Clock (RTC). Many of them have an I2C interface, but you can get some with an SPI interfaces that are easier to program.
The RTC will give you time (hours, mins, secs), day, date, year.
Pump it out to an LCD interface and you have a clock.
(have a look on my website to see how it is done)
Remember to put a diode across the relay coil to stop the back emf.
Good luck