Real time clock MCP7940N I2C interface
I have built many product applications where the RTC is read at ten times per second. This is plenty fast enough that is a user is reading the time on a screen display they do not notice any non-uniform seconds tick updates.

Periodic reading is important if asynchronous activities cannot live with the latency to access the RTC at their event time.

The RTC read rate is determined from a periodic interrupt that is a core part of the embedded dispatcher for multiple software activities. The actual interrupt rate is 1msec but runs various periodic tasks according to a state machine operating on a cyclic state sequence from 0 to 9 (each state occurs every 10msec). Some states use additional counter variables to throttle task rate such as the RTC reading which used an additional 0-to-9 divider.

The RTC interrupt can keep a counter that counts 0 to 99 and increments once each 1msec. This counter can be synced with the RTC read process (i.e reset) and then used as a higher resolution time component beyond the seconds value from the RTC.

You can extend this even further by just reading the HHMMSS from the RTC at the 10 times per second to make reading time typically be shorter. Then once per second you can read the additional YYMMDD / DAY values out.