No need to make a custom PCB, though you can if you like. This should be quite doable on a piece of perfboard or donut board (I gather the Europeans call this "Veroboard").
All you need is a microcontroller with a stable clock source, some resistors, and maybe some transistors, depending on the drive characteristics of your uC's I/O lines. If you like, you could use a premade development system like an Arduino, but bare microcontrollers (especially AVR) aren't usually too tough to handle. The program is pretty straightforward, but it'll make extensive use of timers, which can be a little difficult for people new to the field of embedded programming.
If you have sufficient I/O to drive each segment individually, just wire them up, use a lookup table to translate BCD time into 7-segment mappings, and output the data on the port. If you don't have enough I/O to hook up each segment individually, what you'd do is drive the common line of each digit off a bank of I/Os and then drive each segment from each digit (wired together) off another bank. You then "scan" the display one digit at a time (turn on each digit for 1/nth of the time where n is the number of digits), thereby reducing the number of I/Os you need.
You can also do this with discrete logic, if you want, but it'll be a lot more wiring, less flexible, and involve a bunch more chips.