Your circuit has only 2 LEDs and an LDR to turn it off in daylight. Then why are you using HUGE D cell batteries to power it?
Your circuit appears to be a simple 2-transistors multivibrator that does not blink the LEDs, instead it alternates the LEDs so that one LED is always turned on all night draining the battery.
I have many blinking LED circuits, The indoor ones have 10 LEDs that blink as a chaser in a circle going around and around all day and all night. I designed the circuit to blink each LED for a 30ms duration short enough for low average battery current but long enough to be seen as being bright. Then for my circuit to look as bright as yours, my batteries last (1000ms/30ms=) 33 times longer.
I use two name brand alkaline AA cells for the 2V red LED ones and use four name brand AA alkaline cells for the 3.5V blue ones. The batteries last for 3 months.
I have many cheap solar garden lights. They are made where your very cheap batteries are made. The solar lights used to use one very cheap AA rechargeable Ni-Cad battery that rusted away in 2 months, some transistors and resistors that rusted away like yours and used an LDR that got sunburned in 2 months. They came with one white LED.
Modern solar garden lights are still inexpensive but use a Ni-MH battery that takes one year to rust away which I replace with a western Name Brand one that does not rust and lasts for years. They use one IC that does not rust and use the solar panel to detect light instead of an old LDR. I replaced the continuous lighting white LED with a bright colors changing LED from Christmas, Halloween and Easter decorations. 5 of my modified solar garden lights use a small LED module that has red, green and blue LEDs blinking in a pattern.
I recommend that you blink your LEDs instead of alternating them and use a modern Name Brand battery that can be much smaller than what you are using.
You Tube has videos of cheap Super Heavy Duty batteries like yours that are cut open to reveal what is inside instead of battery chemicals.