ColdFusion: Anzahl der Tage zwischen zwei Daten exakt ermitteln

ColdFusion bietet zu diesem Zweck zwar die Funktion DateDiff, welche jedoch den Nachteil hat, das sie nur vollständige Datumsteile berücksichtigt.

Somit liefert

<cfset daysBetween=DateDiff("d", date1, date2)>

folgerichtig ein potentiell falsches Ergebnis, da der aktuelle (angebrochene) Tag mehr oder weniger unterschlagen wird.

Folgender Code liefert jedoch ein genaueres Ergebnis:

<cfset hoursBetween=DateDiff("h", date1, date2)>
<cfset daysBetween=round(hoursBetween / 24))>

Die Logik dahinter ist extrem simpel: Zuerst wird die Anzahl der Stunden zwischen den zwei Daten ermittelt. Dieser Wert wird anschließend durch 24 geteilt, um die exakte Anzahl der Tage zu erhalten. Da jedoch eine Zahl mit Nachkommastellen als Ergebnis eher verwirrend sein kann, wird das Ergebnis zu Schluss auf eine ganze Zahl aufgerundet.

Einfach, kurz und effektiv 😉

CC BY-SA 4.0 ColdFusion: Anzahl der Tage zwischen zwei Daten exakt ermitteln von Heiko Adams ist lizenziert unter Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 4.0 international.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.