FWIW, it can be done with some careful manipulation of as few as 1, yes one, timer. But, I always have to ask, is that really the right, most efficient way?
Depending on what controller you use, a simple 4-way crossing traffic-light sequence can be done
without using any timers at all, and using only 2 instructions in the code.
It certainly is the most efficient (in code terms), but not necessarily the right way, as it is relatively difficult to modify.
Having said that, when was the last time you saw your local traffic lights modified? In my locale, I can think of several traffic lights that are programmed wrongly, resulting in poor traffic flow.
My favourite is a four-way intersection 2 miles away that only has green lights from each of the four "entrances" at any one time, and although left-turn filter lights are installed (UK, we drive on the left), they are not programmed with any intelligence, and are not used at all. That's dumb.
And why do traffic lights change 24/7 when there is no need to change? They all have vehicle approaching sensors, and could easily be programmed to give a green light to approaching traffic at quiet times of the day. 200 yards from where I live is a set of lights that can stop you as you approach, and no traffic comes from the other directions, it just goes through its timed sequence at all times. That's dumb also
sorry, just grabbed an opportunity to have a whinge....