Need help debugging my Binary Clock
In your “Loop to determin the arrangement”, you are erroneously using
time[i] in several places where you mean tempTime. Also, to update
tempTime you only have to subtract steps[j]. With these fixes, your
loop becomes:

for(int j = 3; j &gt;= 0; j--){//Loop to determin the arrangement
  if(tempTime/steps[j] &gt;= 1 &amp;&amp; steps[j] &gt; 0 &amp;&amp; digitPins[i][j] &gt; 0){
    Serial.print("\n");
    Serial.print(tempTime);
    Serial.print("/");
    Serial.print(steps[j]);
    Serial.print(" = ");
    Serial.print(tempTime/steps[j]);
    tempTime = tempTime - steps[j];
    displayer[counter1] = digitPins[i][j];
    Serial.print("\r\nAdded: ");
    Serial.print(digitPins[i][j]);
    counter1++;
  }
}


Now, if you learn a little bit about how binary numbers work, and about
the binary operators in C and C++, you can rewrite your loop in a
simpler form:

for (int j = 3; j &gt;= 0; j--) {
  int weight = 1 &lt;&lt; j;      // 2 raised to the power j
  if (tempTime &amp; weight) {  // if bit j of tempTime is set
    displayer[counter1++] = digitPins[i][j];
    Serial.print("Added bit ");
    Serial.print(j);
    Serial.print(", weight ");
    Serial.print(weight);
    Serial.print(", output ");
    Serial.println(digitPins[i][j]);
  }
}


As a side note, it is considered good practice to print a new line at
the end of each string you print (using println()), rather than at
the beginning.

Edit: As your display() function is way too complex for what it
does, I did not resist the temptation to simplify it:

void display() {
  for (int i = 0; i &lt; 4; i++)
    for (int j = 0; j &lt; 4 &amp;&amp; digitPins[i][j] &gt;= 0; j++)
      digitalWrite(digitPins[i][j], time[i] &amp; (1&lt;&lt;j));
}