String and Array Confusion.

char displayThis [40] = { 0 };

...
  
  char displayThis [20];
  sprintf (displayThis, "%02i:%02i:%02i", Hrs, Mins, Sec);

You have two displayThis variables. You are putting the time in one of them, and showing the contents of the other one.