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 |