I made different clocks back in college - transformer to get voltage down to a rectifiable voltage to make DC, dividing down the mains to make 1Hz. One design had 60 LEDs in an outer circle for minutes, 12 in an inner circle for hours. Learned about switch bounce on that one too.I still have the board for it, covered in dust in a box, chips pulled out for a later project. The mix of hardware/software that uCs bring to the table make things a lot easier to bring to completion without a big pile of chips.
I don't understand how the digit function works either so I'll just have to keep at it.
for (byte i = 0; i < 7; i++) digitalWrite (pins [i], pat [i] ^ adjust);
// bring appropriate digit low to activate it digitalWrite (pin, LOW ^ adjust);