Serial to Lcd

how do I convert this Sketch to use an LCD instead of using Serial.

/*
CHANGE TIME SKETCH
 
 */

#include <Wire.h>
const int Pcf_RTC = 0x51;

const char* days[] =
{
  "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

const char* months[] =
{
  "January", "February", "March", "April", "May", "June", "July", "August",
  "September", "October", "November", "December"};

byte result;
byte second = 0;
byte minute = 0;
byte hour = 0;
byte monthday = 0;// 1-31
byte weekday = 0; // 1-7 "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
byte month = 0; // "January", "February", "March", ect
byte year = 0;
byte second_old;
byte minute_old;
byte hour_old;
byte day;
byte century;

void setup() {
  Wire.begin();
  Serial.begin(9600);
  delay(2000);
  // Serial.print("The current date and time is: ");
  // printTime();
  Serial.println("To set the date and time please select Newline ending to continue.");
  Serial.println("Would you like to set the date and time now? Y/N");
  while (!Serial.available()) delay(10);
  if (Serial.read() == 'y' || Serial.read() == 'Y') {
    Serial.read();
    setTime();
    // Serial.print("The current date and time is now: ");
    printTime();
  }
  Serial.println("Goodbye.");
}


void loop() {
  printTime();
}


byte decToBcd(byte val) {
  return ((val/10*16) + (val%10));
}
byte bcdToDec(byte val) {
  return ((val/16*10) + (val%16));
}


void setTime() {

  second = 0;

  Serial.print("Please enter the current minute, 0-59. - ");
  minute = readByte();
  Serial.println(minute);

  Serial.print("Please enter the current hour in 24hr format, 0-23. - ");
  hour = readByte();
  Serial.println(hour);

  Serial.print("Please enter the current day of the month, 1-31. - ");
  monthday = readByte();
  Serial.println(monthday);

  Serial.println("Please enter the current day of the week, 1-7.");
  Serial.print("1 Sun | 2 Mon | 3 Tues | 4 Weds | 5 Thu | 6 Fri | 7 Sat - ");
  weekday = readByte();
  Serial.println(days[weekday-1]);

  Serial.print("Please enter the current month, 1-12. - ");
  month = readByte();
  Serial.println(months[month-1]);

  Serial.print("Please enter the current year, 00-99. - ");
  year = readByte();
  Serial.println(year);


  Serial.println("Thank you.");


  Wire.beginTransmission(Pcf_RTC);
  Wire.write(byte(0));
  Wire.write(byte(0));
  Wire.write(byte(0));
  Wire.write(decToBcd(second));
  Wire.write(decToBcd(minute));
  Wire.write(decToBcd(hour));
  Wire.write(decToBcd(monthday));
  Wire.write(decToBcd(weekday));
  Wire.write(decToBcd(month));
  Wire.write(decToBcd(year));
  Wire.write(byte(0));
  Wire.endTransmission();
}


byte readByte() {
  while (!Serial.available()) delay(10);
  byte reading = 0;
  byte incomingByte = Serial.read();
  while (incomingByte != '\n') {
    if (incomingByte >= '0' && incomingByte <= '9')
      reading = reading * 10 + (incomingByte - '0');
    else;
    incomingByte = Serial.read();
  }
  Serial.flush();
  return reading;
}


void printTime() {
  Wire.beginTransmission(Pcf_RTC);
  Wire.write(0x02); // Start address
  result = Wire.endTransmission();
  //#ifdef DEBUG
  //  Serial.print("Result of asking for date and time: ");
  //  Serial.println(result, DEC);
  //#endif
  // if (result) SetError(ERROR_RTC_GET);

  Wire.requestFrom(Pcf_RTC, 1);
  second = Wire.read();
  // if (second & 0x80) SetError(ERROR_CLOCK_INTEGRITY);
  second = BcdToDec(second & 0b01111111);
  if (second != second_old) // Cycle begins only when it has changed
  {
    second_old = second;
    if (second == 0) // If second is zero I need to ask for the minute
    {
      Wire.requestFrom(Pcf_RTC, 1);
      minute = BcdToDec(Wire.read());
      if (minute != minute_old) // Cycle begins only when it has changed
      {
        minute_old = minute;
        if (minute == 0) // If minute is zero I need to ask for the hour
        {
          Wire.requestFrom(Pcf_RTC, 1);
          hour = BcdToDec(Wire.read());
          if (hour != hour_old) // Cycle begins only when it has changed
          {
            hour_old = hour;
            if (hour == 0) // If hour is zero I need to ask for other elements
            {
              Wire.requestFrom(Pcf_RTC, 4);
              day = BcdToDec(Wire.read());
              weekday = BcdToDec(Wire.read());
              month = Wire.read();
              century = (month & 0x80);
              month = BcdToDec(month & 0b01111111);
              year = BcdToDec(Wire.read());
            }
          }
        }
      }
    }
    Serial.print(days[weekday]);
    Serial.print(""); //(");
    //Serial.print(weekday, DEC);
    //Serial.print(")");
    Serial.print(" ");
    if (monthday < 10) Serial.print("0");
    Serial.print(monthday, DEC);

    Serial.print("-");
    if (month < 10) Serial.print("0");
    Serial.print(month,DEC);
    Serial.print("-");

    if (century)
      Serial.print("21");
    else
      Serial.print("20");
    if (year < 10) Serial.print("0");
    Serial.print(year, DEC);

    Serial.print(" ");
    if (hour < 10) Serial.print("0");
    Serial.print(hour,DEC);

    Serial.print(":");
    if (minute < 10) Serial.print("0");
    Serial.print(minute, DEC);

    Serial.print(":");
    if (second < 10) Serial.print("0");
    Serial.println(second, DEC);
  }
}

// Converts a BCD (binary coded decimal) to decimal
byte BcdToDec(byte value)
{
  return ((value / 16) * 10 + value % 16);
}

// Converts a decimal to BCD (binary coded decimal)
byte DecToBcd(byte value){
  return (value / 10 * 16 + value % 10);
} 




void readTime() {
  Wire.beginTransmission(Pcf_RTC);
  Wire.write(byte(0));
  Wire.endTransmission();
  Wire.requestFrom(Pcf_RTC, 7);
  second = bcdToDec(Wire.read());
  minute = bcdToDec(Wire.read());
  hour = bcdToDec(Wire.read());
  monthday = bcdToDec(Wire.read());
  weekday = bcdToDec(Wire.read());
  month = bcdToDec(Wire.read());
  year = bcdToDec(Wire.read());
}

Most of it can be easily made to use an LCD, but the bigger lines will have to be shortened. Get an LCD, wire it, play with it, and see how much you can put on a single row.