So no matter whether it would work or not, I had too much time so finished the code with a little bit of explanation.
I decided to use three shift register arrays so i can independantly change the displays.
The minute part is fairly long 
#include <Time.h>
//shift register array for hour stone
int latchPin1 = 8;
int clockPin1 = 12;
int dataPin1 = 11;
//shift register array for first minute stone
int latchPin2 = 2;
int clockPin2 = 4;
int dataPin2 = 3;
//shift register array for second minute stone
int latchPin3 = 5;
int clockPin3 = 7;
int dataPin3 = 6;
//hour and minute adjust buttons
const int hourPin = 9;
const int minPin = 10;
int hourState = 0;
int minState = 0;
byte dataArray[12];
void setup() {
pinMode(latchPin1, OUTPUT);
pinMode(clockPin1, OUTPUT);
pinMode(dataPin1, OUTPUT);
pinMode(latchPin2, OUTPUT);
pinMode(clockPin2, OUTPUT);
pinMode(dataPin2, OUTPUT);
pinMode(latchPin3, OUTPUT);
pinMode(clockPin3, OUTPUT);
pinMode(dataPin3, OUTPUT);
pinMode(hourPin, INPUT);
pinMode(minPin, INPUT);
//Matrix bits
dataArray[1] = 1024; //000000000000010000000000
dataArray[2] = 525312; //000010000000010000000000
dataArray[3] = 540736; //000010000100000001000000
dataArray[4] = 8437824; //100000001100000001000000
dataArray[5] = 8438848; //100000001100010001000000
dataArray[6] = 8963136; //100010001100010001000000
dataArray[7] = 8966464; //100010001101000101000000
dataArray[8] = 10670400; //101000101101000101000000
dataArray[9] = 10671424; //101000101101010101000000
dataArray[10] = 11195712; //101010101101010101000000
dataArray[11] = 11197248; //101010101101101101000000
dataArray[12] = 11983680; //101101101101101101000000
}
void loop() {
hourState = digitalRead(hourPin);
minState = digitalRead(minPin);
//Hour adjustment
if (hourState == HIGH) {
time_t t = now();
t = t + 3600;
setTime(t);
}
//Minute adjustment
if (minState == HIGH) {
time_t t = now();
t = t + 60;
setTime(t);
}
//Hour stone output
if (hourFormat12() == 1) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[1]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 2) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[2]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 3) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[3]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 4) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[4]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 5) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[5]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 6) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[6]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 7) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[7]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 8) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[8]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 9) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[9]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 10) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[10]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 11) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[11]);
digitalWrite(latchPin1, HIGH);
}
if (hourFormat12() == 12) {
digitalWrite(latchPin1, LOW);
shiftOut(dataPin1, clockPin1, MSBFIRST, dataArray[12]);
digitalWrite(latchPin1, HIGH);
}
//Minute stones output
if (minute() == 0) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 1) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[1]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 2) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[2]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 3) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[3]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 4) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[4]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 5) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[5]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 6) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[6]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 7) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[7]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 8) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[8]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 9) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, 0);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[9]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 10) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 11) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[1]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 12) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[2]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 13) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[3]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 14) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[4]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 15) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[5]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 16) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[6]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 17) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[7]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 18) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[8]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 19) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[1]);
shiftOut(dataPin3, clockPin3, MSBFIRST, dataArray[9]);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
if (minute() == 20) {
digitalWrite(latchPin2, LOW);
digitalWrite(latchPin3, LOW);
shiftOut(dataPin2, clockPin2, MSBFIRST, dataArray[2]);
shiftOut(dataPin3, clockPin3, MSBFIRST, 0);
digitalWrite(latchPin2, HIGH);
digitalWrite(latchPin3, HIGH);
}
etc...