function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
VorixVorix 

Formula to calculate the number of working days between 2 dates

The following formula will calculate the number of working days (inclusive) between 2 dates. A working day is defined as Monday to Friday. Even if the start or end dates are a weekend, these are accommodated.

IF(AND((5 - (CASE(MOD( Start_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) < (CASE(MOD(  End_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) ),
((( End_Date__c  -   Start_Date__c ) + 1) < 7)),
((CASE(MOD(  End_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) - (5 - (CASE(MOD(  Start_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)))),
(((FLOOR((( End_Date__c  -  Start_Date__c ) - (CASE(MOD(  Start_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 6, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0))) / 7)) * 5) +
(CASE(MOD(  Start_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) +
(CASE(MOD(  End_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0))))


The Start Date and End Date fields are custom in the above example and can be replaced as required. If use of a DateTime field is required then the DATEVALUE function will be required.

I also recommend a simple field validation rule is added to check that the End Date is after the Start Date.
Best Answer chosen by Admin (Salesforce Developers) 
teacup13teacup13

This formula seems to work when calculating bt 2 different days. What about taking into account for same day and returns result shoud be a "0"? My result shows a "5" when I entered 9/10/09 and 9/10/09 for both start and end dates. Is there one formula that can include this possiblity?

 

TY!!

Teacup13

All Answers

BuellBuell
Nicely done.
slinkeslinke
I have been looking for this formula for a while.  Thanks for putting this together.  I was trying to figure out how to calculate just the business days between dates and this works great!
nwingnwing
Has anyone adjusted this to solve for the end date given a start date and number of business days?  I will see to it as time allows and post if I can get it...
BlankaBlanka

Any ideas why the filed would not display the number of business days...Formula was saved just fine, I have double checked it and it looks good to me...Here is what I have:

==============================================================

 

IF(AND((5 - (CASE(MOD( Start_Date__c - DATE(2009, 7, 1), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) < (CASE(MOD( End_Date__c - DATE(2009, 9, 30), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) ),
((( End_Date__c - Start_Date__c ) + 1) < 7)),
((CASE(MOD( End_Date__c - DATE(2009, 9, 30), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) - (5 - (CASE(MOD( Start_Date__c - DATE(2009, 7, 1), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)))),
(((FLOOR((( End_Date__c - Start_Date__c ) - (CASE(MOD( Start_Date__c - DATE(2009, 7, 1), 7), 0, 0, 1, 6, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0))) / 7)) * 5) +
(CASE(MOD( Start_Date__c - DATE(2009, 7, 1), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) +
(CASE(MOD( End_Date__c - DATE(2009, 9, 30), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0))))

 

================================================================

 

Any clues would be more than appreciated. Thank you so much!

 

Blanka

teacup13teacup13

This formula seems to work when calculating bt 2 different days. What about taking into account for same day and returns result shoud be a "0"? My result shows a "5" when I entered 9/10/09 and 9/10/09 for both start and end dates. Is there one formula that can include this possiblity?

 

TY!!

Teacup13

This was selected as the best answer
teacup13teacup13

Hi Vorix,

 

This formula seems to work when calculating bt 2 different days. What about taking into account for same day and returns result shoud be a "0"? My result shows a "5" when I entered 9/10/09 and 9/10/09 for both start and end dates. Is there one formula that can include this possiblity?

 

TY

Teacup13

WilmerWilmer

Hi,

 

First of all, Thanks for this formula.

 

Well, I saw someone reported there was a problem when both dates where the same day, so I adjusted the original formula into this one:

 

 

IF(Start_Date__c <> End_Date__c, IF( /** Condition */ AND( (5 - (CASE(MOD( Start_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) < (CASE(MOD( End_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) ), ((( End_Date__c - Start_Date__c ) + 1) < 7) ), /** Value to YES */ ( (CASE(MOD( End_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) - (5 - (CASE(MOD( Start_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0))) ), /** Value to NOT */ ( ((FLOOR((( End_Date__c - Start_Date__c ) - (CASE(MOD( Start_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 6, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0))) / 7)) * 5) + (CASE(MOD( Start_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) + (CASE(MOD( End_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) ) ) ,0)

 

 

 I hope this helps everyone.

 

Regards,

 

Wilmer

 

 

CTU007CTU007

How about public holidays? Not all Mondays to Fridays are business/working days.

 

Is there a solution?

bdowneybdowney

This formula works great, but it will only display a calculated number when the case is closed. I want to track the number of business days an open and closed case are open and build workflows from that date. What would be the best way to modify this formula to calculate:

 

 

  • Number of business days from Opened_Date__c to TODAY() when the case status is not equal to "Closed"
  • Number of business days from Opened_Date__c to Closed_Date__c (as the current formula reads and calculates) when the status is equal to "Closed"
Your assistance and recommendations are greatly appreciated!
Thanks,
bdowney

 

Steve O'NealSteve O'Neal

I'm betting you already found a solution to your problem, but here's the formula I use to calculate an end date based on the current date and lead time.  If start date is something other than today, just substitute it and it should work fine:

 

TODAY()                                                                        /* today's date */
+ Service_Lead_Days__c                                         /* + the lead time */
+ (2 * FLOOR(Service_Lead_Days__c / 5))           /* + the number of weekend days */
+ CASE(MOD( (Today() + MOD(Service_Lead_Days__c, 5)) - DATE (2000 ,1, 1) ,7),  /* calculate the day of week for the release date based on 1/1/2000 being Saturday */
               0,2,                                                                   /* + 2 days if the calculated release day would be a Saturday */
               1,1,                                                                   /* + 1 day if the calculated release day would be a Sunday */
               0)                                                                      /* + 0 days if the calculated release day would be a weekday */
+ IF(Service_Lead_Days__c < 5,                              /* + 2 days for short projects that would span a weekend */
                IF(MOD(Today() - DATE (2000 ,1, 1) ,7) + Service_Lead_Days__c > 6, 2, 0),
                0)

adroitusadroitus

thanks

stevec134stevec134

This is very cool.

 

Is there any way of tweeking this to calculate the total days (inclusive of all weekends, holidays etc) from a certain date until the end of that current financial year (31st March)?

 

I'm looking to create this to then be multiplied by weighted value to feed into an annual revenue forecast as a real weighted annual value of multi-year contracts.  This will then combine with the weighted annual values of other multi-year contracts and with the weighted value of contracts ending within that financial year.

 

Is there any one who can help as my programming experience is only just starting up again after finishing at a very low school level over 10 years ago!

 

Thanks, Steve

 

 

stevec134stevec134

After some further thinking does anyone know if the following (written in laymans terms) is possible?

 

2011

a. IF start date = 1st April or beyond of current financial year (FY) then calculation = (weighted value / 365) * (31st March - start date)

IF a. not true

b. IF start date = FY(s) prior to current FY and end date = FY(s) ahead of current FY then = total annual weighted value

IF a. and b. not true

c. IF start date = FY(s) prior to current FY and end date = current FY = (weighted value / 365) * (end date - 1st April)

 

2012

same as 2011

 

2013

same as 2013

 

etc etc

 

pierreeymard@saaspointpierreeymard@saaspoint

FYI, the equivalent Apex code for the calculation:

  private Integer getDiffBusinessDays(Date startdt, Date enddt) {
	  	Date tempdate = null;
	  	if (startdt > enddt) {
	  		tempdate = enddt;
	  		enddt = startdt;
	  		startdt = tempdate;
	  	}
		Integer i = Math.mod((date.newinstance(1985, 6, 24)).daysBetween(startdt),7); // 24/6/85 was a monday		
		Map<Integer, Map<Integer, Integer>> m = new Map<Integer, Map<Integer, Integer>> {
		0 => new Map<Integer, Integer> { 1 => 2 , 2 => 3 , 3 => 4 , 4 => 5 , 5 => 5 , 6 => 5 },
		1 => new Map<Integer, Integer> { 1 => 2 , 2 => 3 , 3 => 4 , 4 => 4 , 5 => 4 , 6 => 5 },
		2 => new Map<Integer, Integer> { 1 => 2 , 2 => 3 , 3 => 3 , 4 => 3 , 5 => 4 , 6 => 5 },
		3 => new Map<Integer, Integer> { 1 => 2 , 2 => 2 , 3 => 2 , 4 => 3 , 5 => 4 , 6 => 5 },
		4 => new Map<Integer, Integer> { 1 => 1 , 2 => 1 , 3 => 2 , 4 => 3 , 5 => 4 , 6 => 5 },
		5 => new Map<Integer, Integer> { 1 => 0 , 2 => 1 , 3 => 2 , 4 => 3 , 5 => 4 , 6 => 5 },
		6 => new Map<Integer, Integer> { 1 => 1 , 2 => 2 , 3 => 3 , 4 => 4 , 5 => 5 , 6 => 5 }
		};
		Integer i2 = Math.mod((startdt.daysBetween(enddt)),7);
		Integer i3 = (m.get(i)).get(i2);
		if (i2 == null || i2 < 1 || i2 > 6) {
			if (i >= 0 && i <= 4) { i3 = 1; } 
			else  { i3 = 0; }
		}
		i3 = i3 + 5 * (Math.floor( ((Decimal) startdt.daysBetween(enddt)).divide(7,4))).intValue(); 
		if (tempdate != null) i3 *= -1; // negative number of days
		return i3;
    }

 

babrannobabranno

It it possible to change this formula to account for a 6 day business week.  I am at a loss of where to start to modify this formula.  Also is there any way to incorporate holiday's in a similar fashion as the workingdays function in excel.  Thanks for any help.

ChrisInstantCloudChrisInstantCloud

Thanks for this!

AustinTX26AustinTX26

Is anyone able to modify the calculation to calculate the number of working days between 2 days if working days are Mon-Sat (in other words, count all days except Sundays?)

 

Thanks.

T-HanT-Han

This logic is close to what I was looking for.

 

In my case I have:

 

Start Date 1 - Date field, End Date 1 - Formula Field.

Start Date 2 - Date field, End Date 2 - Formula Field.

 

End Date 2 = {Start Date 1 + (3 days) } - but it should not be a Weekend.

 

If its a weekend, then it has to be a next weekday.

Eg: If "End Date 2 calculates to be - Saturday", the formula should calculate and the answer should be Monday's Date.

 

On the whole End Dates should have the dates from M-F.

 

Assistance on this is highly appreciated.? 

 

Thanks..!

 

 

mxravimxravi

I am using a formula field for calculating the difference in business hours. For holidays I have included an integer field and updating the holidays through a batch update everyday morning at 1AM. Sometimes the batches fail due to some error of overlapping batches or having more volume or some issue. 

 

Is there any way to do this without the batch. How to set a holidays in field and increment them without a batch job?

 

Thank You

 

Mrudula

ArunaAruna
I am also on same boat I need to calculate business days but exclude weekends and company holidays.

I am able to get the working days by excluding weekends but I am unable to get the formula to exclude both weekends and company holidays ?

Can any one tell me how to exclude company holidays ?
Jagdeep Juneja 15Jagdeep Juneja 15
Date sdate = Date.valueOf('2016-1-1');        
Date edate = Date.valueOf('2016-1-31');
Date d1 = Date.valueOf(sdate);
        Date d2 = Date.valueOf(edate);
        integer wDay = d1.daysBetween(d2) ;   
        integer count=0;
        do{
            if(sdate.format('EEEE') == 'Saturday') {
                count++;
            }
            if(sdate.format('EEEE') == 'Sunday') {
                count++;
            }
            sdate= sdate.adddays(1);
        }while(sdate<=edate);
        
        wDay = wDay-count+1;
        System.debug(wDay);
Jagdeep Juneja 15Jagdeep Juneja 15
Hi all,
just give the values for sdate and edate by assigning it directly or by passing in function. It will give you the number of working days between two dates.
Vishnu GopakumarVishnu Gopakumar
(DATE( YEAR(End_Date__c) , MONTH(End_Date__c) , DAY(End_Date__c) ) - DATE( YEAR( DATEVALUE(Start_Date__c) ) , MONTH( DATEVALUE(Start_Date__c) ) , DAY( DATEVALUE(Start_Date__c) ) )

Please check
Sarada RVS 2Sarada RVS 2
Hi,

Could any one please provide right solution, for this issue?

 
Kevin NielsenKevin Nielsen
I have implemented this formula, which is appearing in requests for a formula field to calculate business days all over the internet and community forums. However, when the two dates compared are the same date I get a value of "1". I tried Wilmer's solution and I do get "0" when the dates are the same, but when the dates are one day apart the calculation returns "2" and it goes up from there. 

I need a solution that calculates "0" for two dates the same and then increments from there, but I am unable to find anything anywhere to achieve this.Can anyone assist?
Khaled T.Khaled T.
Hello,

I use this formula to calculate working days between monday and friday :

IF(AND((5 - (CASE(MOD( Start_Date__c - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) < (CASE(MOD(  End_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) ),
((( End_Date__c  -   Start_Date__c ) + 1) < 7)),
((CASE(MOD(  End_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) - (5 - (CASE(MOD(  Start_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)))),
(((FLOOR((( End_Date__c  -  Start_Date__c ) - (CASE(MOD(  Start_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 6, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0))) / 7)) * 5) +
(CASE(MOD(  Start_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) +
(CASE(MOD(  End_Date__c  - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0))))


Could you tell me which values must be changed in order to calculate working days between sunday and thursday ?
Thanks
RodrigoSan77RodrigoSan77
Hello guys, I hope you are all well!
Would anyone know how to calculate working days between two dates? (Including holidays)
From the creation date to the completion date.
jchen09jchen09
Thought to share, I modified the formula to work without a closed date:
This is using the case fields CLOSED_DATEONLY, CREATED_DATEONLY and TODAY().

IF(ISBLANK(CLOSED_DATEONLY),
(
(5 * ( FLOOR( ( TODAY() - DATE( 1900, 1, 8) ) / 7 ) ) + MIN( 5, MOD(
TODAY() - DATE( 1900, 1, 8), 7 ) ) )
-
(5 * ( FLOOR( ( DATEVALUE(CREATED_DATEONLY) - DATE( 1900, 1, 8) ) / 7 ) ) + MIN( 5, MOD(
DATEVALUE(CREATED_DATEONLY) - DATE( 1900, 1, 8), 7 ) ) )
)
,
(
(5 * ( FLOOR( ( DATEVALUE(CLOSED_DATEONLY) - DATE( 1900, 1, 8) ) / 7 ) ) + MIN( 5, MOD(
DATEVALUE(CLOSED_DATEONLY) - DATE( 1900, 1, 8), 7 ) ) )
-
(5 * ( FLOOR( ( DATEVALUE(CREATED_DATEONLY) - DATE( 1900, 1, 8) ) / 7 ) ) + MIN( 5, MOD(
DATEVALUE(CREATED_DATEONLY) - DATE( 1900, 1, 8), 7 ) ) )
)
)
Mayuri NehulMayuri Nehul
Hi All,

Can anyone help me with how to calculate the half-day formula?
I am able to calculate for a full day excluding weekends but I am not able to understand how can I calculate for half day. 

Thanks in advance!
Anil MokaAnil Moka
@Mayuri Nehul: please share the formula for full day excluding weekends 
Peter Martensen 8Peter Martensen 8
Hi everyone,
I am using Wilmer's variation that returns 0 if the Start Date and End Date are the same.  Can someone modify the formula so that if the Start Date and End Date are one day apart, then it returns 1 instead of 2?  I tried by adding "-1" at the very end of the formula, but then it doesn't work properly if the Start Date is on a weekend.  
Thanks in advance!
Peter
Tushar KhorateTushar Khorate
Have you ever used this formula:
 Finding the Number of Business Days Between Two Dates.
Use this formula:
(5 * ( FLOOR( ( DATEVALUE( Date_of_Joining__c) - DATE( 1900, 1, 8) ) / 7 ) ) + MIN( 5, MOD( DATEVALUE(Date_of_Joining__c) - DATE( 1900, 1, 8), 7 ) ) ) - (5 * ( FLOOR( ( DATEVALUE(CreatedDate) - DATE( 1900, 1, 8) ) / 7 ) ) + MIN( 5, MOD( DATEVALUE(CreatedDate) - DATE( 1900, 1, 8), 7 ) ) )
 
If you found this is helpful, Like this solution so that others are also see this 
Craig POLLOK 2Craig POLLOK 2
Looking at Wilmer's formula, I dont understand how it all works. 
Also if I have an IF statement and now need to account for business days, how would this be done?
For Example:
IF( NOT( ISNULL(ClosedDate)),
( Date_Expected_Close__c  - DATEVALUE(ClosedDate)),
 Date_Expected_Close__c  - TODAY())
And both of the outcomes for this, the number should account for weekends and not include that in the calculation.
Scott Blase 9Scott Blase 9
Any ideas on how to have the formula stop counting based on a picklist value field.   For example if the Status field of my custom object equals Closed Won or Closed Lost I would need it to stop counting and keep the last number it has.
Evan Ware 5Evan Ware 5
@tushar khorate - I need to use date/time stamps in my formula, is there a way to convert the DATE(1900,1,8) into date/time? Thanks
Deepa K 27Deepa K 27

https://trailhead.salesforce.com/trailblazer-community/feed/0D54S00000A8oQXSAZ
 
hyden matt007hyden matt007
To calculate the number of working days (business days) between two dates, you can use a formula that takes into account weekends and possibly holidays if needed. Here's a formula in pseudocode:
plaintextCopy code
function countWorkingDays(startDate, endDate, https://cricketagony.com/odi-world-cup-winners-list/  holidays): workingDays = 0 currentDate = startDate while currentDate <= endDate: if currentDate is not a weekend and not in the list of holidays: workingDays += 1 currentDate += 1 day return workingDays
In this formula:
startDate is the starting date.
endDate is the ending date.
holidays is an optional list of holidays that should be excluded from the count
Josh Miller 43Josh Miller 43
This is great, thanks a lot!
Josh Miller 43Josh Miller 43
@Tony Arend "Any ideas on how to have the formula stop counting based on a picklist value field keratoconus treatment Phoenix, AZ." Wrap this in an if statement. 
IF(OR(Stage = Closed Won, Stage = Closed Lost), {Formula using Closed Date for end date}, {Formula using Today() for end date})
Jamie Johnson 8Jamie Johnson 8
I use the below formula to calculate the number of weekdays between two dates, thanks to the above.
How would this formula be changed to calculate the number of weekend days between two dates?


IF(Project__r.Job_Start_F__c <> Project__r.Job_Complete_F__c, IF( /** Condition */ AND( (5 - (CASE(MOD( Project__r.Job_Start_F__c - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) < (CASE(MOD( Project__r.Job_Complete_F__c - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) ), ((( Project__r.Job_Complete_F__c - Project__r.Job_Start_F__c ) + 1) < 7) ), /** Value to YES */ ( (CASE(MOD( Project__r.Job_Complete_F__c - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) - (5 - (CASE(MOD( Project__r.Job_Start_F__c - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0))) ), /** Value to NOT */ ( ((FLOOR((( Project__r.Job_Complete_F__c - Project__r.Job_Start_F__c ) - (CASE(MOD( Project__r.Job_Start_F__c - DATE(1900, 1, 6), 7), 0, 0, 1, 6, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0))) / 7)) * 5) + (CASE(MOD( Project__r.Job_Start_F__c - DATE(1900, 1, 6), 7), 0, 0, 1, 5, 2, 5, 3, 4, 4, 3, 5, 2, 6, 1, 0)) + (CASE(MOD( Project__r.Job_Complete_F__c - DATE(1900, 1, 6), 7), 0, 0, 1, 0, 2, 1, 3, 2, 4, 3, 5, 4, 6, 5, 0)) ) ) ,0)
Alex Toba 27Alex Toba 27
This formula is designed to calculate the number of working days (inclusive) between two dates, considering Monday to Friday as working days. It seems to handle cases where the start or end dates fall on a weekend.
The formula involves calculating the number of days, considering the day of the week for both the start and end dates. It also considers cases where the duration between start and end dates is less than a week.
Additionally, it appears to take into account cases where the start date and end date fall on different days of the week.
If you have a custom scenario or need to modify the formula for specific requirements, you can replace the Start Date and End Date fields accordingly.
It's important to note that a field validation rule is recommended to ensure that the End Date is after the Start Date, providing data integrity.
If you have any specific questions about how the formula works or if you need further customization, feel free to ask!

Regards: https://www.safetyeyeglasses.com/