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
mukesh guptamukesh gupta 

business hour between two dates

Hi exprt, 

I have two datetime field d1(10/12/2017 : 10:40 pm)  and d2(10/12/2017 : 11:40 pm)  now i want to get 2 hours, so i am using business hours formula,
5day in week and 8 hours per day but get only 0.00 by use below formula

ROUND( 8 * ( ( 5 * FLOOR( ( DATEVALUE( First_Activity_Date_Time__c) - DATE( 1900, 1, 8) ) / 7) + MIN(5, MOD( DATEVALUE( First_Activity_Date_Time__c ) - DATE( 1900, 1, 8), 7) + MIN( 1, 24 / 8 * ( MOD( First_Activity_Date_Time__c - DATETIMEVALUE( '1900-01-08 16:00:00' ), 1 ) ) ) ) ) - ( 5 * FLOOR( ( DATEVALUE( Last_Assignment_Date__c ) - DATE( 1900, 1, 8) ) / 7) + MIN( 5, MOD( DATEVALUE( Last_Assignment_Date__c ) - DATE( 1996, 1, 1), 7 ) + MIN( 1, 24 / 8 * ( MOD( Last_Assignment_Date__c - DATETIMEVALUE( '1900-01-08 16:00:00' ), 1) ) ) ) ) ), 0 )
NagendraNagendra (Salesforce Developers) 
Hi Mukesh,

Please try the below code which might help.
ROUND( 8 * (
   ( 5 * FLOOR( ( DATEVALUE( First_Activity_Date_Time__c) - DATE( 1900, 1, 8) ) / 7) +
    MIN(5,
     MOD( DATEVALUE( First_Activity_Date_Time__c ) - DATE( 1900, 1, 8), 7) +
     MIN( 1, 24 / 8 * ( MOD( First_Activity_Date_Time__c - DATETIMEVALUE( '1900-01-08 16:00:00' ), 1 ) ) )
    )
   )
 -
   ( 5 * FLOOR( ( DATEVALUE( Last_Assignment_Date__c ) - DATE( 1900, 1, 8) ) / 7) +
     MIN( 5,
      MOD( DATEVALUE( Last_Assignment_Date__c ) - DATE( 1996, 1, 1), 7 ) +
      MIN( 1, 24 / 8 * ( MOD( Last_Assignment_Date__c - DATETIMEVALUE( '1900-01-08 16:00:00' ), 1) ) )
    )
   )
  ),
0 )
Still, if you have any issue please check with below link. Hope this helps.

Kindly mark this as solved if it's resolved.

Thanks,
Nagendra