You don't say exactly what you're looking for as output.  As noted in
the Business::Hours documentation, for_timespan returns a Set::IntSpan,
which is what you're seeing in your dump.  Just eyeballing things, it
looks like the 'edges' array contains Unix timestamps corresponding to
the beginnings and ends of the ranges of time between your start and end
which fall within the business hours you defined.
http://search.cpan.org/dist/Set-IntSpan/IntSpan.pm has more information
on working with a Set::IntSpan.

If you're just trying to get the number of business hours that occur
within your range, Business::Hours does also have a "between" subroutine
that returns the number of business seconds between two timestamps.
(See http://search.cpan.org/dist/Business-Hours/lib/Business/Hours.pm
for full information on Business::Hours.)


--
Mark Roedel
Senior Programmer / Analyst
LeTourneau University
Longview, Texas  USA



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Roy
El-Hames
Sent: Tuesday, December 04, 2007 7:27 AM
To: RT Users
Subject: [rt-users] Business Hours help please

Hi ;

Can anyone help me with the code of how to determine the Business Hours 
between 2 dates:
What I got :
my $hours = Business::Hours->new();
$hours->business_hours(
     0 => { Name => 'Sunday', Start => undef, End => undef },
      1 => { Name => 'Monday', Start => '09:00', End => '17:30' },
      2 => { Name => 'Tuesday', Start => '09:00', End => '17:30' },
      3 => { Name => 'Wednesday', Start => '09:00', End => '17:30' },
      4 => { Name => 'Thursday', Start => '09:00', End => '17:30' },
      5 => { Name => 'Friday', Start => '09:00', End => '17:30' },
      6 => { Name => 'Saturday', Start => undef, End => undef }
 );
my $wtime = $hours->for_timespan(Start => time(), End =>
time()+(86400*7));
my $splosh = Dumper($wtime) ;

print "$splosh nnn\n";

I get :
$VAR1 = bless( {
                 'negInf' => 0,
                 'edges' => [
                              1196774745,
                              1196789399,
                              1196845199,
                              1196875799,
                              1196931599,
                              1196962199,
                              1197017999,
                              1197048599,
                              1197277199,
                              1197307799,
                              1197363599,
                              1197379546
                            ],
                 'posInf' => 0,
                 'empty_string' => \'-'
               }, 'Set::IntSpan' );
 nnn

_______________________________________________
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

SAVE THOUSANDS OF DOLLARS ON RT SUPPORT:

If you sign up for a new RT support contract before December 31, we'll take
up to 20 percent off the price. This sale won't last long, so get in touch 
today.
    Email us at [EMAIL PROTECTED] or call us at +1 617 812 0745.


Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

Reply via email to