Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Differenz zwischen zwei Daten in Tagen errechnen

  • Flo379
  • Flo379's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 2 days ago #167353 by Flo379
Hallo zusammen,

ich würde gerne Folgendes umsetzen: Ich möchte die Teilnehmer einer Umfrage ein Startdatum eingeben lassen und die Anzahl der Kilometer, die sie seitdem zurückgelegt haben. Nun sollte das Programm idealerweise den Unterschied zwischen dem eingegebenen Startdatum und dem aktuellen Datum in Tagen ausrechnen und dann die gelaufenen Kilometer insgesamt durch die Tage seit dem Start teilen, um die durchschnittlichen Kilometer pro Tag anzeigen zu lassen. In Excel ist dies mit der Funktion DATEDIF möglich. Gibt es so etwas auch in LimeSurvey und kann ich so etwas vielleicht mit dem Fragetyp Gleichung umsetzen?
Vielleicht kann mir hier ja jemand helfen, das wäre super! :)

Beste Grüße
Flo
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 2 days ago - 6 years 2 days ago #167356 by Joffm
Hallo, Flo,

okay, also Du möchtest die Gleichung haben:

{(strtotime(date("Y-m-d"))-strtotime(Startdatum))/86400}

Kurze Erklärung:
  • "date("Y-m-d")" macht das heutige Datum
  • "Startdatum" ist der Fragencode, wo das Startdatum erfragt wird.
  • "strtotime" mcht daraus einen UNIX_timestamp, also eine Zahl
  • Die beiden werden subtrahiert und da es sich bei dem Ergebnis um Sekunden handelt, durch 86400 geteilt.





Ein kleines Problem gibt es natürlich:
Wird der Starttag dazugerechnet?
Hier im Beispiel sind vom Start (6.4.) bis heute (16.4.) 10 Tage, wenn ich aber am Morgen de 6.4. starte und heute abend berechnen will, sind es 11 Tage.

das kannst Du natürlich umgehen, indem Du noch die Uhrzeit dazunimmst.

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 6 years 2 days ago by Joffm.
The topic has been locked.
  • Flo379
  • Flo379's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
6 years 2 days ago #167389 by Flo379
Hallo Joffm,

vielen Dank für die Gleichung! Das klingt auf jeden Fall logisch so. Jetzt ist nur die Frage, wie ich das einbinden kann? Die Gleichung einfach in das Gleichungsfeld beim Fragetyp "Gleichung" einfügen, funktioniert ja nicht. So wie ich das sehe, muss ich da mit diesem Expression Manager arbeiten. Allein, ich finde ihn nicht. Das Beispiel mit dem BMI ist ja auch ganz verständlich, aber wo finde ich diese Art von Oberfläche, mit der ich dann genauso arbeiten kann wie in dem Beispiel? Muss ich den Expression Manager irgendwo runterladen oder versteckt aktivieren? Oder ist der in der Basis-Version gar nicht verfügbar?
Beste Grüße
Flo
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 1 day ago #167459 by Joffm
Hallo,

Du erstellst eine Frage vom Typ "Gleichung"
Ich habe ihr hier den Code "eqDatumDiff" gegeben.
In den Text schreibst Du die Gleichung hinein


Das ist alles.
Dann
a. wird der Wert in der Datentabelle unter "eqDatumDiff" gespeichert,
b. kannst Du im weiteren Ablauf der Studie über diese Variable darauf zugreifen.

Übrigens:
Es gibt keinen irgendwie gearteten "wizard" um diese Gleichungen zusammenzustellen.
Die schreibt man einfach hin.
Man kennt ja die implementierten Funktionen, und dann denkt man nach und findet hoffentlich eine Lösung.
Manchmal benötigt man auch mehrere Gleichungen hintereinander.
Anders kann ich es nicht sagen.

Es gibt kein "Gleichungs-Feld". Ich denke, Du meinst die "Relevanz-Gleichung". Aber das ist etwas ganz anderes. Hier kommt der Ausdruck hin, welcher bestimmt, ob die Frage angezeigt wird oder nicht.

Ich denke, jetzt geht es.
Falls nicht, kann ich Dir auch noch ein Beispiel schicken. Müsste ich aber erst anlegen.

Bis dann
Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The following user(s) said Thank You: Flo379
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 1 day ago #167467 by holch
Wichtig ist noch anzumerken, dass du das in der Code-Ansicht (Button ganz oben links im WYSIWYG-Editor) machen musst, sonst erscheint die Gleichung nur als normaler Text und wird nicht interpretiert.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 22 hours ago - 6 years 21 hours ago #167471 by Joffm
@holch: Verwirre mir die Leute nicht.
Scripte und Style-Anweisungen müssen im Quellcode-Modus eingetragen werden; Gleichungen können ganz normal eingetragen werden.

Ich habe daher ein Beispiel angehängt.

Und, Flo, schau Dir die Erweiterten Einstellungen beim Startdatum an.

File Attachment:

File Name: limesurvey...18-2.lss
File Size:15 KB


Es ist noch anzumerken, dass die Sommerzeit berücksichtigt wird.
So, wie die Geschichte implementiert ist, wird die Start- und Endzeit nicht berücksichtigt.
Es wird also berechnet "Heute, 0:00 Uhr - Start 0:00 Uhr". Und da kommt die eine Stunde durch die Sommerzeit ins Spiel.
Ist natürlich im Grunde egal. Im Beispiel habe ich die Differenz in der Gleichung dann gleich gerundet.

Bis dann
Joffm

Zu guter Letzt sind wir noch erwischt worden.
Im Manual steht nämlich schon alles (mit Beispielstudie):
manual.limesurvey.org/Expression_Manager...ce_between_two_dates

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 6 years 21 hours ago by Joffm.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
6 years 15 hours ago #167502 by holch

Joffm wrote: @holch: Verwirre mir die Leute nicht.
Scripte und Style-Anweisungen müssen im Quellcode-Modus eingetragen werden; Gleichungen können ganz normal eingetragen werden.

Sorry! Ich war der festen Überzeugung, dass auch Gleichungen im Quellcode-Modus eingetragen werden müssen. Werde ich gleich mal ausprobieren...

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • Flo379
  • Flo379's Avatar Topic Author
  • Offline
  • New Member
  • New Member
More
5 years 11 months ago #167557 by Flo379
Alles gut, ich hab's hinbekommen! :) Klappt alles super, so wie ich mir das vorgestellt habe! Besten Dank!!!
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose