A customer sent a request to add date of birth column to a person listing, because the end user wants to see what is the age of a person in a recruitment process (especially if person is just under 18, but turning 18 soon).

So the only need is to know the persons age, not the actual date of birth.

To me showing the dates seems irrelevant and annoying since you need to calculate the ages in your head, and that would probably cause human errors. (Atleast to me calculating ages by dates takes a while.)

I suggested that we would instead put age column there, and show the age as decimal, so that 17 year old who soon turns 18 would show as 17,9. And have the actual birth date as a tooltip on hover. Then the recruiter could check if the person turns 18 and can be recruited to a job that requires the person to be atleast 18.

Showing the ages as a decimal seems more user friendly, if the need is to know the ages and see if 17 year old is turning 18 soon. But is it really? Someone said that "age can not be a decimal".

Can you think of any other solutions to this?

[Leave out the age discrimination in recruitment process, for some jobs a person needs to be 18 or turn 18 this year]

  • Any reason not to show both? E.g., March 28, 1981 (age 34)
    – Matt Smith
    Jan 14, 2016 at 23:59
  • @MattSmith well only reason is that the space is already so limited, the date just fits in dd.mm.yyyy format. That would otherwise be the optimal.
    – Samuel M
    Jan 15, 2016 at 6:15

1 Answer 1


It’s indeed an unnecessary extra step to manually calculate the age (a number, often floored) from a birth date (a 3-tuple), but you may be able to save the user another step, because all they need to know (from privacy and discriminatory POVs as well) is whether the candidate has turned 18 by a certain date. That‘s a Boolean value with just 2 states, true or false.

Alas, to let your application do the math it will need to know the target date. If this changes often in a non-deterministic manner, it may be better to provide a state indicator. That means each candidate is simply labeled as belonging to one of the following groups or categories, depending on the local requirements:

  • Will not turn 18 for a while.
  • Will turn 18 soon …
    • Will turn 18 within a week / month.
    • Will turn 18 within the next n weeks / months.
    • Will turn 18 during the current calendar / academic / recruitment year.
    • Will turn 18 during the next calendar / academic / recruitment year.
  • Has already turned 18 (an undisclosed time ago).
  • I like this solution. With a boolean value, if in the future you need to change 18 to 16, this can easily be done. don't forget adding filter function on this can be handy too. Jan 15, 2016 at 0:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.