Actions

Translations

Translations:ExpressionScript examples/110/de

From LimeSurvey Manual

Zweck Differenz zwischen zwei Daten berechnen
Typ Relevanz/Gleichungsfragetyp/Validierung
Beispiel Frage eins (Datum/Uhrzeit, Code: Geburtsdatum): Was ist Ihr Geburtsdatum?
Frage zwei (Datum/Uhrzeit, Code: datetoday): Welches Datum ist heute?
Frage drei (Klassiker): Sie sind XXXX Tage alt.
Aufgabe: Berechnen und zeigen Sie die Anzahl der Tage zwischen dem in Frage 1 angegebenen Datum und der Frage 2 an.
Ausdruck {(strtotime(datetoday)-strtotime(DOB))/60/60 /24}
Beschreibung strtotime berechnet die Anzahl der Sekunden zwischen dem 1. Januar 1970 und dem angegebenen Datum. Der obige Ausdruck berechnet die Anzahl der Sekunden zwischen den beiden angegebenen Daten. Der Begriff „/60/60/24“ berechnet lediglich die Anzahl der Tage aus der Anzahl der Sekunden.
Anstatt nach „datetoday“ zu fragen, können Sie auch strtotime('now') oder einfach time() verwenden, was direkt die Anzahl der Sekunden von Januar 1970 bis jetzt zurückgibt (dh den Zeitpunkt, zu dem die Umfrage durchgeführt wurde). So können Sie mit der Gleichung {(time() - strtotime(DOB)) / 60 / 60 / 24 / 365,25} schnell das Alter einer Person in Jahren ermitteln. In jedem dieser Fälle ist es wichtig, dass das Datum eingegeben wird in einem richtigen Format, sonst funktioniert die Funktion strtotime() nicht richtig.
Schritte Erstellen Sie zwei Datumsfragen (für das Geburtsdatum und für das heutige Datum) und eine Standardfrage.
Fügen Sie im Fragetext der Standardfrage Folgendes ein: „Am {datetoday} waren Sie {(strtotime(today)-strtotime(dob))/60/60/24} Tage Tage alt.“

Bitte beachten Sie: Die Funktion strtotime kann mit VIELEN, aber nicht mit allen Datumsformaten funktionieren. Wenn Sie auf Probleme stoßen, stellen Sie das Datumsformat Ihrer Umfrage auf mm/dd/yyyy oder yyyy-mm-dd oder dd.mm.yyyy"
Beispieldatei Date_difference.zip