Text overlap on 3.5" TFT SHIELD (MEGA 2560)

I’m trying to display Arduino Runtime on tft screen. But the new time values keep overlapping on the previous values. Can somebody help me?

Code is:

#include “MCUFRIEND_kbv.h”
#include “TouchScreen.h”
#include <Adafruit_GFX.h>
MCUFRIEND_kbv tft;
#define RED 0xF800
void setup() {
Serial.begin(9600);

tft.reset();
tft.begin(0x9486);
tft.setRotation(1);
}
void loop() {
unsigned long runMillis= millis();
unsigned long allSeconds=millis()/1000;
int runHours= allSeconds/3600;
int secsRemaining=allSeconds%3600;
int runMinutes=secsRemaining/60;
int runSeconds=secsRemaining%60;

char buf[21];
sprintf(buf,“Runtime%02d:%02d:%02d”,runHours,runMinutes,runSeconds);
Serial.println(buf);
tft.setCursor(100,100);
tft.setTextColor(RED);
tft.setTextSize(4);
tft.print(buf);

delay(1000);
}

Please read the Forum advice for posting code.

  //tft.begin(0x9486);
  tft.begin(tft.readID()); //use the correct controller
  tft.fillScreen(TFT_BLACK); //start with a BLACK screen
  //tft.setTextColor(RED);
  tft.setTextColor(TFT_RED, TFT_BLACK); //draw background colour with each letter
  tft.setTextSize(4);
  tft.print(buf);

I strongly advise you to press ctl-T to format your code

David.

Thank you David.
It all worked.
PS- I auto-formatted the code.

Can I use an TIMER to start and stop it as and when i want?
Could you direct me to a link or a video?