è possibile che arduino abbia 'problemi' a fare le operazioni?
Non è quello il problema,se fai un calcolo ed il risultato ci sta nella capacità della variabile è tutto ok.
Io proverei a stampare sul serial monitor l'ora che ricevi dal ds1307....Non conosco quella libreria e non so che formato di dati ti fornisce.
Usi hour() ,minute() ,second() ma che numero ti stampa in serial monitor?