ds1207 RTC 12 hours Formate with Muliplexing LED Clock

Thanks arduino for this code...
But I have a problem it showing 24 hour Formate..
I need 12 hour formate

If someone Edit this code for me it will be very helpful.

Thank you!

#include <Wire.h>    //Libraries to communicate with RTC
#include "RTClib.h"

RTC_DS1307 rtc;      //create rtc object

boolean state = false;
boolean state1 = false;
int setH;            //variable to store hours when setting
int setM;            //variable to store minutes when setting
int setD = 1;        //variable for day
int setMo = 1;       //variable for month
unsigned long t1;    //used for millis()
unsigned long t2;    //used for millis();

int segs[] = {2, 3, 4, 5, 6, 7, 8, 9};//abcdefg. segments
int digits[] = {10, 11, 12, 13};        //number of digits
String num[]  = {"11111100", //0
                 "01100000", //1
                 "11011010", //2
                 "11110010", //3
                 "01100110", //4
                 "10110110", //5
                 "10111110", //6
                 "11100000", //7
                 "11111110", //8
                 "11110110"  //9
                };

void setup()
{
  rtc.begin();//begin rtc communication
  for (int i = 0; i < 8; i++)
  {
    pinMode(segs[i], OUTPUT);//set segment pins output
  }
  for (int i = 0; i < 4; i++)
  {
    pinMode(digits[i], OUTPUT);//set digts as outputs
  }
  pinMode(14, INPUT_PULLUP);//set A0 as input for button1
  pinMode(15, INPUT_PULLUP);//set A1 as input for button2
}


void loop()
{
  
  
  DateTime now = rtc.now();//acquire date and time
  t1 = millis();//acquire millis time
  if(t1-t2 >= 5000)//if 5 seconds have passed change display
  {
    t2 = t1;
    state1 = !state1;
  }
  if(state1 == false)
  {
    printTime(now.hour(), now.minute());//show time
  }
   if(state1 == true)
  {
    printTime(now.day(), now.month());//show date
  }
  
  setTime();//function to set time 
}



void printNum(int number)//function to print number
{
  for (int i = 0; i < 8; i++)
  {
    if(state == true && state1 == true)//if date is displayed show decimal after day
    {
      num[number].setCharAt(7,'1');
    }
    if(state != true || state1 != true)//if not then no decimal
    {
      num[number].setCharAt(7,'0');
    }

    if (num[number].charAt(i) == '1')//set segment high
    {
      digitalWrite(segs[i], HIGH);
    }
    else
    {
      digitalWrite(segs[i], LOW);//set low
    }
  }
}
void printTime(int hour, int min)
{
  int d[] = {floor(hour / 10), hour - 10 * floor(hour / 10), floor(min / 10), min - 10 * floor(min / 10)};

  for (int i = 0; i < 4; i++)
  {
    if (i != 0)
    {
      digitalWrite(digits[i - 1], LOW);
    }
    if (i == 0)
    {
      digitalWrite(digits[3], LOW);
    }
    if(i == 1)
    {
      state = true;
    }
   else
   {
      state = false;
   }
    
    digitalWrite(digits[i], HIGH);
    printNum(d[i]);
    delay(5);
  }
}
void setTime()
{
  if (digitalRead(14) == LOW)
  {
    delay(500);
    while (digitalRead(14) == HIGH)
    {
      printTime(setH, setM);
      if (digitalRead(15) == LOW)
      {
        delay(200);
        setH++;
        if (setH == 24)
        {
          setH = 0;
        }


      }
    }
    delay(500);
    while (digitalRead(14) == HIGH)
    {

      printTime(setH, setM);
      if (digitalRead(15) == LOW)
      {
        delay(200);
        setM++;
        if (setM == 60)
        {
          setM = 0;
        }


      }
    }
    delay(500);
    while (digitalRead(14) == HIGH)
    {

      printTime(setD, setMo);
      if (digitalRead(15) == LOW)
      {
        delay(200);
        setD++;
        if (setD > 31)
        {
          setD = 1;
        }


      }
    }
    delay(500);
    while (digitalRead(14) == HIGH)
    {

      printTime(setD, setMo);
      if (digitalRead(15) == LOW)
      {
        delay(200);
        setMo++;
        if (setMo > 12)
        {
          setMo = 1;
        }


      }
    }
    delay(500);
    int i;
    while (digitalRead(14) == HIGH)
    {
  
      printTime(20,i);
      if (digitalRead(15) == LOW)
      {
        delay(200);
        i++;
      }
    }
    delay(500);
    rtc.adjust(DateTime(2000+i, setMo, setD, setH, setM, 0));
  }
}
  t1 = millis();//acquire millis time
  if(t1-t2 >= 5000)//if 5 seconds have passed change display
  {
    t2 = t1;
    state1 = !state1;
  }

t1 and t2 don't mean a things as names. Surely you could use meaningful names.

In printTime(), couldn't you just subtract 12 from hour, if hour is greater than 12? Add 12 if hour is 0.

I have no programing knowledge .. Its a big problem for me.
Please write the full code for me

Thank you!

I have no programing knowledge .. Its a big problem for me.
Please write the full code for me

No. Why did you buy an Arduino if you didn't want to learn? It's like buying a tennis racket and then saying "I can't play tennis, you play for me".

That's Great!