you know that 7 is Sunday?
you know that 1 is Monday?
right? (this confused me to death for a long time with Date::Calc)

> -----Original Message-----
> From: Ian Zapczynski [mailto:[EMAIL PROTECTED]]
> Sent: Monday, August 12, 2002 1:58 PM
> To: [EMAIL PROTECTED]
> Subject: add_delta_workdays from Date::Calendar not returning what I'd
> expect
> 
> 
> Hello all,
> 
> I hope this is not too specific for this list.  If so, please let me
> know if you have suggestions on a better place to seek the answer for
> this.
> 
> In the code below, I am using add_delta_workdays from 
> Date::Calendar to
> check if yesterday was a business day.  My problem is that it seems to
> work when checking for holidays, but when the script runs on 
> a Saturday
> or Sunday, it reports that the previous business day was Thursday, and
> *not* Friday as I'd expect.  However, on a Monday, it properly
> identifies the previous business day as the previous Friday.  So I am
> quite perplexed.
> 
> If anyone out there has a moment to lend some insight, this script can
> be easily tested by first running it with the system date set properly
> as today, and then setting the date to be either Saturday, August 10th
> or Sunday, August 11th (although it happens with any Saturday 
> or Sunday
> I've tried).  The dates are not printed out in the same 
> precise format,
> but you'll get the idea.
> 
> I hesitate to assume this would be a bug in the module since 
> it has been
> a stable release for so long, so I could really use another 
> opinion.  Or
> if you don't receive the same results, perhaps it could be 
> something in
> my environment.
> 
> Thanks!!
> 
> -Ian
> 
> -----
> 
> #!/usr/bin/perl
> #
> use strict;
> use Date::Calc qw(:all);
> use Date::Calendar;
> use Date::Calendar::Profiles qw( $Profiles );
> 
> my ($year,$month,$day) = Date::Calc->Today();
> 
> # figure out what day yesterday was so we can determine if it matches
> the previous business day
> my ($yesteryear,$yestermonth,$yesterday) =
> Add_Delta_Days($year,$month,$day, -1);
> 
> # now find out what Date::Calendar says the previous business day is
> based on the standard US profile
> my ($cal) = Date::Calendar->new( $Profiles->{'US'} );
> my ($prevdate) = $cal->add_delta_workdays($year,$month,$day, -1);
> 
> print "today is $year-$month-$day \n";
> print "yesterday is $yesteryear-$yestermonth-$yesterday \n";
> print "the previous business day is $prevdate \n";
> 
> -- 
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 

----------------------------------------------------------------------------
--------------------
The views and opinions expressed in this email message are the sender's
own, and do not necessarily represent the views and opinions of Summit
Systems Inc.


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to