Error converting integer to character for TFT display

Good day all.

I am a relative newbie and have done a fair bit of searching on this topic and others to do with this project but due to a lack of depth in my understanding of coding for the Due, I am stuck.

I am working on a small example project to learn how to display calculated data on a 3.2 inch TFT. This is attached to a Due, a Due prototype shield and a TFT shield(for Due).

I am using the utft library by Karl Hennings.

I have had various errors but now with a conversion from int to string I get no errors but also no display on the TFT screen. Line #46 myGLCD.print(stringOne, CENTER, 0); is the problem or part of the problem as I believe I need to further convert the string to character for it to display properly.

Here is the complete code for this sketch:

#include <rtc_clock.h>
#include <UTFT.h>
// Select the Slowclock source
//RTC_clock rtc_clock(RC);
RTC_clock rtc_clock(XTAL);


// Declare which fonts we will be using
//extern uint8_t SmallFont[];
extern uint8_t BigFont[];
//extern uint8_t SevenSegNumFont[];

// Set the pins to the correct ones for your development shield
// ------------------------------------------------------------
// Standard Arduino Mega/Due shield            : <display model>,38,39,40,41
// CTE TFT LCD/SD Shield for Arduino Due       : <display model>,25,26,27,28
// Teensy 3.x TFT Test Board                   : <display model>,23,22, 3, 4
// ElecHouse TFT LCD/SD Shield for Arduino Due : <display model>,22,23,31,33
//
// Remember to change the model parameter to suit your display module!
UTFT myGLCD(ITDB32S, 38, 39, 40, 41);


char* daynames[] = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"};
int hh, mm, ss, dow, dd, mon, yyyy;
String stringOne = String(hh, 2); 

void setup() {
  Serial.begin(9600);
  rtc_clock.init();
  rtc_clock.set_time(__TIME__);
  rtc_clock.set_date(__DATE__);
  myGLCD.InitLCD();
  myGLCD.clrScr();
}

void loop() {
  myGLCD.setColor(0, 255, 0);
  myGLCD.setBackColor(0, 0, 0);
  myGLCD.setFont(BigFont);
  //float H = &hh;
  Serial.print("Time: ");
  rtc_clock.get_time(&hh, &mm, &ss);
  rtc_clock.get_date(&dow, &dd, &mon, &yyyy);
  digitprint(hh, 2);
 myGLCD.print(stringOne, CENTER, 0);
  Serial.print(":");
  digitprint(mm, 2);
  Serial.print(":");
  digitprint(ss, 2);
  Serial.println("");
  Serial.print("Date: ");
  Serial.print(daynames[dow - 1]);
  Serial.print(" ");
  digitprint(dd, 2);
  Serial.print(".");
  digitprint(mon, 2);
  Serial.print(".");
  Serial.println(yyyy);
  Serial.println("");
  delay(1000);
}

void digitprint(int value, int lenght) {
  for (int i = 0; i < (lenght - numdigits(value)); i++) {
    Serial.print("0");
  }
  Serial.print(value);
  //myGLCD.print(value, CENTER, 0);
  //  delay(1000);
}


int numdigits(int i) {
  int digits;
  if (i < 10)
    digits = 1;
  else
    digits = (int)(log10((double)i)) + 1;
  return digits;
}

I would like to thank any and all who weigh in on this possibly simple process but one which stumps me now. I sometimes learn best by examining working examples of code.

Mark