Laura,
You need two tools, conversions and whole set of QB Formulas called Rounding and Truncating
You can use these to break up the Duration into smaller pieces that can then be displayed as Years, Months and Days. However we should make two assumptions
- All years are 365 days long
- All months are 31 days long
This is not really true because of leap years and even and odd months. If you cannot live with these assumptions then this gets
much more complicated.
The easiest part is how many total days someone has been there.
That gives you a number which can be from zero to really big. Once this goes over 31 then you have your first month.
When Total Days goes over 365 we have our first year. I would do this going backwards from year to month to day
var number TotalNumDays = ToDays([Duration]);
var number TotalNumYears = $TotalNumDays/365; // Quick Base does not have a function ToYears() which is a bummer, so we made one
//Calculate Years to Display
var number DisplayYears = (Floor($TotalNumYears));
//Calculate Months to Display
var number DisplayMonths= Floor(($TotalNumYears-$DisplayYears)*12);
// Calculate Days to Display
var number DisplayDays= $TotalNumDays-$DisplayYears*365 - $DisplayMonths*31;
//Display
ToText($DisplayYears) & " Years " & "<br>" & ToText($DisplayMonths) & " Months" & "<br>" & ToText($DisplayDays) & " Days"
Play with it and you will get some text output.
------------------------------
Don Larson
Paasporter
Westlake OH
------------------------------
Original Message:
Sent: 12-30-2020 15:48
From: Laura Diak
Subject: Calculate Years of Employee between a date/time field and today
Thank you, Don.
I was able to get the first part working. How would you suggest I set up the formula for the second part?
------------------------------
Laura Diak
Original Message:
Sent: 12-30-2020 15:37
From: Don Larson
Subject: Calculate Years of Employee between a date/time field and today
Laura,
This is a two part projcet.
You need a Formula Duration field.
That gives you your first answer and can be used in reporting for seniority, total employment time and so on.
Then you need a Formula Text field to convert the Duration to each component of Years, Months and Days. This you will want to put on Forms and specialty reports where no further calculations are to be performed on the data.
------------------------------
Don Larson
Paasporter
Westlake OH
Original Message:
Sent: 12-30-2020 15:27
From: Laura Diak
Subject: Calculate Years of Employee between a date/time field and today
I am trying to develop a field that automatically calculates the years of employment (including months & days) using a date/time field (Date of Hire) and whatever day it is currently.
Thank you in advance!
------------------------------
Laura Diak
------------------------------