A real time clock is an integrated circuit which has the ability to keep the time. It is a digital device which can be interfaced also to the arduino. The arduino should then “decode” the digital time and translate this to a human readible format. There are many chips available which have this capability so its interesting to make some comparissons. The key feature of a real time clock is to be able to convey the time to the arduino. When the arduino is switched off the real time clock will not receive any power and so there needs to be some sort of battery function in order not onlyto retain the last time when the arduino was on but also to update itself when the arduino is switched off. This function should use as little power as possible as the system is relying on the battery for life.
real time clock links
The DS1307 is easy to interface and i have made a small PCB which can interface this to the arduino. You can click on the links above to go to the pages giving a detailed description of how to interface this to the arduino including the required software.
The circuit for PCF8583 does not have a battery but has the advantage that it is pin compatible with a regular memory EEprom such as the 24C16. There are already several arduino shields available which support these chips and you simply can plug them into those sockets and take care of the oscillator which the PCF8583 and DS1307 require. The PCB for the DS1307 can be plugged straight in to the arduino as the software programs the digital pins of the arduino to act as the power supply for the chip. You do have to alter the software to perform this function. This is included in the library on the DS1307 page.