Over the years I've become averse to the idea that anything can be
perfect or the
best. But let's tackle the requirement anyway.
Date of birth is a specific 24 hour period. Do you need to pinpoint that down to the hour and minute? Or are you only trying to find that 24 hour period, i.e. the date, from some set of inputs.
A far more common requirement, in fact, is to calculate age when supplied with the date of birth and the current date....