Check out the LimeSurvey source code on GitHub!

Calculate age in an Equation type question, using Date of Birth

4 years 4 months ago #85320 by Ben_V
Very nice solution...
Maybe the improvment could be to get it working with the 2 questions in a same group :unsure:

I attach the sample survey I've created to make a try.

Thank you to share...


EM Variables => | EM Roadmap =>
All LS releases => | 2.06lts =>
Demo surveys => (already included in /docs/demosurveys)

Please Log in to join the conversation.

4 years 1 week ago #91050 by PawsInMotion
These have all been incredibly helpful! Thank you!

Here's a trick I'm trying to figure out though (without knowing perl or much scripting at all):

How do I show year and month (and, optionally, days) from birth as chosen in the previous question.
Some of my clients aren't a year old yet (dogs) or are a year and some months.

I appreciate the help. I'll keep noodling with this code. At least I figured out that 'floor' means to round the answer.

{floor((time() - mktime(0,0,0,substr(DateofBirth,5,2),substr(DateofBirth,8,2),substr(DateofBirth,0,4)))/(365.25*24*60*60))}

Please Log in to join the conversation.

4 years 6 days ago #91155 by tfj

The code I used is modular in the sense that you can substitute values in it to come up with whatever type of date measurement you need.

For instance, instead of using the following for years:

{floor((time() - mktime(0,0,0,substr(DateofBirth,5,2),substr(DateofBirth,8,2),substr(DateofBirth,0,4)))/(365.25*24*60*60))}

you can change it to:

{floor((time() - mktime(0,0,0,substr(DateofBirth,5,2),substr(DateofBirth,8,2),substr(DateofBirth,0,4)))/(24*60*60))}

for the number of days. From there, you could use Equation-type questions to come up with months and days, etc.

I tested this on a couple of cases and they seemed okay. Please let me know if your experience is different.


Please Log in to join the conversation.

3 years 6 months ago #97877 by DWS
the example works fine... but if yo hide the question then you can't use the value on following questions :(

Please Log in to join the conversation.

Imprint                   Privacy policy         General Terms & Conditions         Revocation information and revocation form