The whole mechanism:


This is what the date skipping looks like:


Add on Real Time Clock

After running the clock for about a week it was several minutes off. Apparently the code I've written based on millis() in Arduino is not accurate enough.  instead added a RTC and wrote a code that flips the output every time a the minute is increased. Even if there is some time lag in the code this will not accumulate and the error is reset every new minute.

Schematic

The LM317 is used just because I did not have any fixed regulators in my workshop. A standard 3.3V regulator would have been fine. Everything is run of a 12V AC/DC converter.