Vbat is 14.2V for a 12V lead-acid battery, 4.2V for a Li-Ion cell, and 1.4V for a NiMH cell and the minimum voltages, for fully discharged batteries, are respectively 11.67V, 3.0V and 1.0V.
The prototype used two NXP PSMN9R0-25YLC MOSFETs, which were definitely overkill on current rating (46A!) but I had some in my junk box and the ones I measured had suitably low threshold voltages (~1.2V) and off-state drain leakage (<<1μA). Since in addition to small NiMH calls and ~3AH Li-Ion cells I expected to measure small 12V lead-acid batteries (up to 10-12 AH) at discharge currents up to 1A T1 was mounted on a heat sink capable of handling 20W. Most users of this circuit will not need such high dissipation.
The battery voltage sensor consists of op-amp B used as a comparator and resistors R5, R6 and R7, variously switched depending on the battery being measured, which present exactly 1V to its inverting input when "fully discharged". While the comparator is waiting for the battery voltage to drop to this value the reference voltage is 1V and the output is at the negative rail, turning on PMOSFET T3 to power the LED and the clock, and turning off T2.
All the numbered resistors should be 1% parts, in which case no further adjustment of the circuit will be necessary. All the values needed are single E12 resistor values or two E12 values in series (R1 & R5).
When the battery drops below the "fully discharged" threshold op-amp B output moves towards the positive rail, turning off T3, the LED, and the clock; and turning on NMOSFET T2 to bring R4 into circuit, raising the reference voltage at node 1 to 1.2V, turning off the discharge current by biasing the inverting input of op-amp A, and latching op-amp B high until the battery voltage rises above 1.2 times the "fully discharged" value.