Why do you assume that breakTime() is broken? It is equally likely that the conversion of your date/time to a time_t is what is flawed.
Anyway, I'm done, until you provide some proof that you are setting the time correctly, using ONLY functions from your library, and that there is indeed some problem converting the date/time to a unix time, or from a unix time to date and time variables. Proof as in identified Serial output.
And, proof as in a COMPLETE program. Snippets are useless.