DS1302

OK. Your sketch is too long to include between code tags but you could have attached it to your post as a file.

Anyway, where in your sketch do you ever set the rtc with the current time ? As far as I see, you only read it with statements such as:

/*
Time t = rtc.time();
lcd.setCursor (6, 0);
lcd.print (t.date);
. . .
*/

Or do you set it in another sketch ?