Neues Thema starten
Beantwortet

2 Datumswerte miteinander vergleichen bzw. Differenz berechnen

 Hallo,

ich möchte gerne 2 Datumsangaben miteinander vergleichen.


Das Referenzdatum bekomme ich in folgendem Format.

2018-05-29


Nun möchte ich gerne wissen, wie viele Tage zwischen dem Referenzdatum und heute liegen.

Bei der Nutzung von datecalc kriege ich aber andauernd Fehlermeldungen. Ich schaffe es einfach nicht, sauber zwischen String und Datetime zu trennen und auf meine Referenzspalte zu verweisen.

Zudem steht in der Doku nur, dass ich mit Datetime "Stunden, Tage, Wochen" etc. addieren und subtrahieren kann. Aber wie kann ich ein anderes Datum "subtrahieren" ?


Ich habe auch versucht beide Daten mit ${.now?long / 1000} in Millisekunden zu verwandeln. Dies klappt aber nur für das aktuelle Datum. Sobald ich hier eine Referenzspalte einfüge, bekomme ich einen Syntax-Fehler.


Kann mir bitte jemand auf die Sprünge helfen, wie ich das am Besten löse?


Dankeschön und viele Grüße

Diana


Beste Antwort

Hallo Diana,



Hier findest du eine Beispielrechnung, wie du die Tagesdifferenz berechnen kannst.

https://apps.synesty.com/transformy?m=8c18a34003454fb1870f049f0a4d5c91


Eine kurze Erklärung:

- Ich wandele die Daten zunächst in Millisekunden um und subtrahiere diese entsprechend voneinander.

- Zum Schluss teile ich dann durch die Millisekunden, die ein Tag entsprechend hat (24h * 60min * 60sek * 1000ms).


=> Damit bekommst du die Differenz der Tage. Nicht ganz trivial, aber so funktioniert's.


${(("08-04-2004")!?datetime("dd-MM-yyyy")?long - ("07-04-2004")!?datetime("dd-MM-yyyy")?long) / (24 * 60 * 60 * 1000)}


Ich hoffe das hilft weiter.



Viele Grüße,


Christian


Antwort

Hallo Diana,



Hier findest du eine Beispielrechnung, wie du die Tagesdifferenz berechnen kannst.

https://apps.synesty.com/transformy?m=8c18a34003454fb1870f049f0a4d5c91


Eine kurze Erklärung:

- Ich wandele die Daten zunächst in Millisekunden um und subtrahiere diese entsprechend voneinander.

- Zum Schluss teile ich dann durch die Millisekunden, die ein Tag entsprechend hat (24h * 60min * 60sek * 1000ms).


=> Damit bekommst du die Differenz der Tage. Nicht ganz trivial, aber so funktioniert's.


${(("08-04-2004")!?datetime("dd-MM-yyyy")?long - ("07-04-2004")!?datetime("dd-MM-yyyy")?long) / (24 * 60 * 60 * 1000)}


Ich hoffe das hilft weiter.



Viele Grüße,


Christian


2 Personen gefällt dies

 Hallo Christian,


vielen Dank! Genau das war meine Idee, aber ich habe es mit der Syntax einfach nicht hinbekommen. Vielen Dank für das supergute Beispiel und deine Arbeit. Ich habe alles implementiert und es funktioniert ganz hervorragend!


Perfekter Support!


Schönen Abend.

Diana


1 Person gefällt dies
Anmelden um einen Kommentar zu veröffentlichen