Hi sachinhere,
Date::Manip offers a lot of date/time operation.
use strict;
use warnings;
use Date::Manip;
my $task_start = new Date::Manip::Date;
my $task_end = new Date::Manip::Date;
my $err = $task_start->parse('Jan 30 2018 4:30 PM EST');
$err = $task_end->parse('Jan 31 2018 9:00 AM EST');
my $delta = $task_start->calc($task_end);
print $delta->value()."\n";
#0:0:0:0:16:30:0
$task_start->config('WorkDayBeg','08:30:00');
$task_start->config('WorkDayEnd','17:00:00');
$task_end->config('WorkDayBeg','08:30:00');
$task_end->config('WorkDayEnd','17:00:00');
$delta = $task_start->calc($task_end,"business");
print $delta->value()."\n";
#0:0:0:0:1:0:0