How to Calculate Time Difference Between Two Input Times
Goal
How to get time difference between two times in HH:MM:SS format? Is there any business function available?
Solution
There are two possible implementations for this requirement as below,
Option 1 - through Business Function
Try,
1. Call CalculateTimeConsumed (N968901A, Calculate the duration time) which returns value in math numeric data type
2. Call ConvertTimeToHHMMSS (N968901A, Convert Time Seconds to HHMMSS Format)
Option 2 - through event rule for the application you want to implement
For this, try as below,
Convert Input TimeA from HHMMSS into Seconds (Time A)
Convert TimeA from HHMMSS into Seconds (Time B)
Subtract A to B to calculate time Between
Convert Seconds to HHMMSS format
Parameters:
(IN) FC_mnTime_A
(IN) FC_mnTime_B
(OUT) FC_mnTime_BetweenTime_Seconds
(OUT) FC_mnTime_BetweenTime_HHMMSS
Possible Implementation: 1. Convert TimeA from HHMMSS into Seconds (Time A)
If FC_mnTime_A is not equal to <Blank> Or FC_mnTime_A is not equal to <NULL> VA evt_mnHours01 = ([FC_mnTime_A]/10000)-(mod([FC_mnTime_A],10000)/10000) VA evt_mnMinSec01 = mod([FC_mnTime_A],10000) VA evt_mnMinutes01 = ([VA evt_mnMinSec01]/100)-(mod([VA evt_mnMinSec01],100)/100) VA evt_mnSeconds01 = [VA evt_mnMinSec01]-([VA evt_mnMinutes01]*100) VA evt_mnTimeInSeconds01 = ((([VA evt_mnHours01]*60)*60)+([VA evt_mnMinutes01]*60))+[VA evt_mnSeconds01] End If
2. Convert TimeB from HHMMSS into Seconds (Time B)
If FC_mnTime_B is not equal to <Blank> Or FC_mnTime_B is not equal to <NULL> VA evt_mnHours02 = ([FC_mnTime_B]/10000)-(mod([FC_mnTime_B],10000)/10000) VA evt_mnMinSec02 = mod([FC_mnTime_B],10000) VA evt_mnMinutes02 = ([VA evt_mnMinSec02]/100)-(mod([VA evt_mnMinSec02],100)/100) VA evt_mnSeconds02 = [VA evt_mnMinSec02]-([VA evt_mnMinutes02]*100) VA evt_mnTimeInSeconds02 = ((([VA evt_mnHours02]*60)*60)+([VA evt_mnMinutes02]*60))+[VA evt_mnSeconds02] End If
3. Subtract B from A to calculate time between FC_mnTime_BetweenTime_Seconds = abs(([VA evt_mnTimeInSeconds01]-[VA evt_mnTimeInSeconds02]))
4. Convert Seconds to HHMMSS format
VA evt_mnSeconds_Output = mod([FC_mnTime_BetweenTime_Seconds],60) VA evt_mnHourMinute_output = [FC_mnTime_BetweenTime_Seconds]-[VA evt_mnSeconds_Output] VA evt_mnMinute_Output = mod(([VA evt_mnHourMinute_output]/60),60) VA evt_mnHour_Output = (([FC_mnTime_BetweenTime_Seconds]-([VA evt_mnMinute_Output]*60))-[VA evt_mnSeconds_Output])/3600 FC_mnTime_BetweenTime_HHMMSS = [VA evt_mnHour_Output]*10000+[VA evt_mnMinute_Output]*100+[VA evt_mnSeconds_Output]