-1- Wenn du die Strings via sprintf bekommst, dann sind sie nullterminiert, also könntest du sie mit strcat aneinander hängen wie schon izaseba sagte.

-2- Anstatt x sprintf-Aufrufe geht natürlich auch
Code:
#define CR_LF "\r\n"
char buf[30];
sprintf (buf, "%d:%d:%d %d-%d-20%d %d %c%c" CR_LF, hour, min, sec, day, month, year, t5, t5_string[0], t5_string[2]);