Hold button push code for a clock

So, I’m working on creating an alarm clock on an lcd display, so I need help with code to speed up the changing of numbers on the clock and the alarm, by holding down the button. There is my current code :

#include <LiquidCrystal.h>

const int buttonPin1 = 6;
int hour=0;
int minute=7;
int second=0;
int Day=0;
int S=1000;
int buttonPin4 = 13;
const int buttonPin2 = 7;
const int buttonPin3 = 8;
int alarmMinute=50;
int alarmHour=0;
int alarmSec=0;
bool modeSwitch=0;
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
lcd.begin(16, 2);
lcd.print(“Clock”);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
pinMode(buttonPin1, HIGH);
pinMode(buttonPin2, HIGH);
pinMode(buttonPin3, HIGH);
pinMode(buttonPin4, INPUT);
pinMode(buttonPin4, HIGH);
Serial.begin(9600);

}
void loop() {
//lcd.setCursor tells arduino which line you want to print on
lcd.setCursor(0, 1);
//This is a chain of code that rolls over numbers, after 60 min, it sets to 1 hour 0 min

void checkButtons();
static boolean minPressed=false, hourPressed=false;
static boolean aminPressed=false;
static bool ahourPressed=false;
bool lastPush=false;

if(digitalRead(buttonPin3)==HIGH){
modeSwitch=!modeSwitch;
}
//switch modes from Alarm time to clock time

switch(modeSwitch){
case 0:
lcd.setCursor(0,0);
lcd.print(“Alarm”);
lcd.setCursor(0,1);
lcd.print(alarmHour);
lcd.print(":");
lcd.print(alarmMinute);
lcd.print(":");
lcd.print(alarmSec);
lcd.print(" “);
if(digitalRead (buttonPin1)==HIGH && aminPressed == false){
alarmMinute++;
aminPressed = true;
}
if(digitalRead (buttonPin1)==HIGH){
aminPressed = false;
}
if( digitalRead (buttonPin2)==HIGH && ahourPressed == false){
alarmHour++;
hourPressed = true;
}
if( digitalRead (buttonPin2)==HIGH){
ahourPressed = false;
}
//button pushes to change time of the alarm time
break;
case 1:
lcd.setCursor(0,0);
lcd.print(“Clock”);
lcd.setCursor(0,1);
lcd.print(hour);
lcd.print(”:");
lcd.print(minute);
lcd.print(":");
lcd.print(second);
lcd.print(" ");
if( digitalRead (buttonPin1)==LOW && minPressed == false){
minute++;
minPressed = true;
}
if( digitalRead (buttonPin1)==HIGH){
minPressed = false;
}

if( digitalRead (buttonPin2)==LOW && hourPressed == false){
hour++;
hourPressed = true;
}
if( digitalRead (buttonPin2)==HIGH){
hourPressed = false;
}
//button pushes to changes clock time
break;
default:

}

// move forward one minute every 60 seconds
if (second == 59) {
minute++;
second = 00; // reset seconds to zero
}

// move forward one hour every 60 minutes
if (minute > 59) {
hour++;
minute = 00; // reset minutes to zero
}

if (hour > 23) {
Day++;
hour = 00; // reset hours to zero
}
// move forward one weekday every 24 hours

//This section prints out the time to the lcd

delay(1000);
second++;

//Serial print code
Serial.print(modeSwitch, DEC);
Serial.print(" “);
Serial.print(hour, DEC); // the hour, sent to the screen in decimal format
Serial.print(”:"); // a colon between the hour and the minute
Serial.print(minute, DEC); // the minute, sent to the screen in decimal format
Serial.print(":"); // a colon between the minute and the second
Serial.println(second, DEC); // the second, sent to the screen in decimal format
}