Permanent (or very often) polling of the RTC chip causes drift of the RTC internal clock. It may slow down the “real time” for several seconds per day! The reason is that the RTC chip stops its internal clock counter during the SPI communication between the main processor and the RTC chip (to be able to provide consistent information about the time, alarms, flags etc.). To avoid this phenomena it is recommended to use the RTC only as a backup during temporary black-outs and as a source of a precise time. But the synchronization of the Arduino “system time” with the RTC should be done with a reasonable period – e.g. once per day.
I have used Arduino Time library and prepared an example sketch for you.