Often it is required to calculate differences between two dates or between a date and today. In this post i’d like to show how to calculate the difference between a date field and today’s date.
We only need two fields:
target date (date field)
Remaining days (integer)
Step 1: Create Rule “Calc Remaining Days” at field Target Date
Condition: None, if the field changes
Action:
Set value of a field: Remaining Days
Value: just copy this function into the value field
[code language=”csharp”]
(zahl(teilzeichenfolge(.; 9; 2)) + untergrenze((153 * (zahl(teilzeichenfolge(.; 6; 2)) + 12 * (untergrenze((14 – zahl(teilzeichenfolge(.; 6; 2))) / 12)) – 3) + 2) / 5) + (zahl(teilzeichenfolge(.; 1; 4)) + 4800 – (untergrenze((14 – zahl(teilzeichenfolge(.; 6; 2))) / 12))) * 365 + untergrenze((zahl(teilzeichenfolge(.; 1; 4)) + 4800 – (untergrenze((14 – zahl(teilzeichenfolge(.; 6; 2))) / 12))) / 4) – untergrenze((zahl(teilzeichenfolge(.; 1; 4)) + 4800 – (untergrenze((14 – zahl(teilzeichenfolge(.; 6; 2))) / 12))) / 100) + untergrenze((zahl(teilzeichenfolge(.; 1; 4)) + 4800 – (untergrenze((14 – zahl(teilzeichenfolge(.; 6; 2))) / 12))) / 400) – 32045) – (zahl(teilzeichenfolge(heute(); 9; 2)) + untergrenze((153 * (zahl(teilzeichenfolge(heute(); 6; 2)) + 12 * (untergrenze((14 – zahl(teilzeichenfolge(heute(); 6; 2))) / 12)) – 3) + 2) / 5) + (zahl(teilzeichenfolge(heute(); 1; 4)) + 4800 – (untergrenze((14 – zahl(teilzeichenfolge(heute(); 6; 2))) / 12))) * 365 + untergrenze((zahl(teilzeichenfolge(heute(); 1; 4)) + 4800 – (untergrenze((14 – zahl(teilzeichenfolge(heute(); 6; 2))) / 12))) / 4) – untergrenze((zahl(teilzeichenfolge(heute(); 1; 4)) + 4800 – (untergrenze((14 – zahl(teilzeichenfolge(heute(); 6; 2))) / 12))) / 100) + untergrenze((zahl(teilzeichenfolge(heute(); 1; 4)) + 4800 – (untergrenze((14 – zahl(teilzeichenfolge(heute(); 6; 2))) / 12))) / 400) – 32045)
[/code]
If you like, you can add a second rule which checks if the field target date is empty, it sets remaining days to zero.
Important: Remaining Days should be an integer type.
How it looks like:
the current date was 08.09.2017
Here are some posts where you can find some more information.
https://sites.google.com/site/sharebyme/sharepoint/infopath-service/rule/calculate-the-difference-between-two-date-picker-controls-in-infopath-using-rules-and-formulas—no-code
Leave a Reply