Translations:Expression Manager examples/101/nl
From LimeSurvey Manual
Doel | Bereken duur periode |
Type | Relevantie / vraagtype vergelijking / Validatie |
Voorbeeld | Vraag 1 (date/time, code: DOB): What is your date of birth? Vraag 2 (date/time, code: datetoday): What is the date today? Vraag 3 (boilerplate): You are XXXX days old. Doen: Bepalen en tonen aantal dagen tussen de ingevulde datums. |
Expressie | {(strtotime(datetoday)-strtotime(DOB))/60/60/24} |
Beschrijving | strtotime bepaalt het aantal seconden tussen 1 january 1970 en de meegegeven datum. Dat doen we voor beide datums en kijken dan naar het verschil. Met "/60/60/24" zetten we de seconden weer om naar dagen. Je hoeft niet naar de huidige datum te vragen maar je kunt ook strtotime('now') of time() gebruiken, de tijd waarop de deelnemer de enquête invult. Je bepaalt dus de leeftijd met {(time() - strtotime(DOB)) / 60 / 60 / 24 / 365.25} De datum moet dan wel goed zijn ingevuld, anders werkt de functie strtotime() niet goed. |
Stappen | Maak twee datumvragen aan (geboortedatum en vandaag) en een boilerplate vraag. Vul als vraagtekst in de boilerplate vraag in: "On {datetoday} you were {(strtotime(today)-strtotime(dob))/60/60/24} days days old." NB: De functie kan veel datumformaten aan, maar niet alle. Gebruik als datumformaat in je enquête mm/dd/yyyy, yyyy-mm-dd of dd.mm.yyyy. |
Voorbeeld | downloaden |