Hola
Asegúrate que la batería tenga 3 volts.
Yo uso la libreria "RTClib"
Para cargar los datos de la hora usa el ejemplo ds1307
1.- Conecta lo al Arduino pero sin la batería.
2.- Carga el ejemplo al Arduino.
3.- Abre el monitor Serial para mirar que la hora se cargo correctamente.
4.- Con cuidado coloca la batería.
De esta forma mantendrá la hora correcta, siempre y cuando lo mantengas tengas con una buena batería.