#!/usr/bin/perl
use strict;
use warnings;
use Date::Manip;
use Data::Dumper;
use feature 'say';
my $dateStart = "Jan 29 2018 4:59pm";
my $dateEnd = "Jan 30 2018 08:01am";
my $business = DateCalc($dateStart, $dateEnd, "business");
my $businessTime =
Delta_Format($business,
0, "Time in %hv hours, %mv minutes, %sv seconds");
say $businessTime;
my $nonBusiness = DateCalc($dateStart, $dateEnd, "exact");
my $nonBusinessTime =
Delta_Format($nonBusiness,
0, "Time in %hv hours, %mv minutes, %sv seconds");
say $nonBusinessTime;
my @businessArray = split(/:/, $business);
my @nonBusinessArray = split(/:/, $nonBusiness);
my @totalArray;
foreach my $i ( 0 .. $#businessArray ) {
push @totalArray, $nonBusinessArray[$i] - $businessArray[$i];
}
### For Output Viewing Purposes ###
my @dateFormat = ("years",
"months", "weeks", "days", "hours", "minutes", "seconds");
my %totalHash;
@totalHash{@dateFormat} = @totalArray;
# print Dumper \%totalHash;
my $deltaStr = join(':', @totalArray);
my $str = Delta_Format($deltaStr,"Total %hv hours, %mv minutes, %sv seconds");
say $str;
__END__
$ perl test.pl
Time in 0 hours, 2 minutes, 0 seconds
Time in 15 hours, 2 minutes, 0 seconds
Total 15 hours, 0 minutes, 0 seconds
####
exact : an exact, non-business calculation
semi : a semi-exact, non-business calculation
approx : an approximate, non-business calculation
business : an exact, business calculation
bsemi : a semi-exact, business calculation
bapprox : an approximate, business calculation
####
#!/usr/bin/perl
use strict;
use warnings;
use Date::Manip;
use feature 'say';
my $dateStart = "Jan 29 2018 4:59pm";
my $dateEnd = "Jan 30 2018 08:01am";
my $business = DateCalc($dateStart, $dateEnd, "business");
my $businessTime =
Delta_Format($business,
0, "Time in %hv hours, %mv minutes, %sv seconds");
say $businessTime;
__END__
$ perl test.pl
Time in 0 hours, 2 minutes, 0 seconds