Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / ASP.NET / General / March 2008

Tip: Looking for answers? Try searching our database.

adding days to start date

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Paul - 20 Mar 2008 16:18 GMT
Hi, I have a web application that I need to add 3 days to the Now day, but
need to make sure that I skip weekends and holidays.  For example if Now is
friday, 3 days + now should be tuesday, counting the current day as the first
day.  Now would never occure on a weekend or holiday.  Anyhow just wondering
if anyone has any ideas? Thanks.
Signature

Paul G
Software engineer.

Mark Rae [MVP] - 20 Mar 2008 16:56 GMT
> Hi, I have a web application that I need to add 3 days to the Now day, but
> need to make sure that I skip weekends and holidays.  For example if Now
[quoted text clipped - 4 lines]
> wondering
> if anyone has any ideas? Thanks.

It's a trivial matter to work out whether a DateTime variable relates to a
weekend or not by inspecting the DayOfWeek property:
http://msdn2.microsoft.com/en-us/library/system.datetime.dayofweek.aspx

However, bear in mind that weekends are not always Saturday and Sunday
everywhere in the world.

As for public holidays, these differ from country to country. I'm not aware
of anything in the .NET Framework which will return whether given DateTime
and CultureInfo variables relate to a public holiday or not, although
Microsoft already know this information since it's possible to add public
holidays for individual countries to Outlook...

Therefore, what I do is hold a database table listing public holidays for
the next few years against a given country identifier. Armed with that, what
you require is easy enough by adding one day to any given DateTime variable
and incrementing a local variable by one if the resulting DateTime isn't a
weekend and doesn't appear in the database table of public holidays for the
country that you're working with. As soon as the local variable has a value
of 3, you have your result.

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

Paul - 20 Mar 2008 17:09 GMT
Hi thanks for the detailed information.  I only have to worry about holidays
and weekends in the US so this does simplify it.  Sounds like I may need to
store holiday dates in a table as you did.
Thanks Paul.
Signature

Paul G
Software engineer.

> > Hi, I have a web application that I need to add 3 days to the Now day, but
> > need to make sure that I skip weekends and holidays.  For example if Now
[quoted text clipped - 25 lines]
> country that you're working with. As soon as the local variable has a value
> of 3, you have your result.
Mark Rae [MVP] - 20 Mar 2008 17:33 GMT
> Hi thanks for the detailed information.  I only have to worry about
> holidays
> and weekends in the US so this does simplify it.  Sounds like I may need
> to
> store holiday dates in a table as you did.

If it helps, this is my SQL Server function for returning the next working
day, given a country code and a starting day

CREATE FUNCTION fdtmNextWorkingDay
(
   @pstrISOCountryCode char(2),
   @pdtmStart   smalldatetime
)
RETURNS smalldatetime
AS
BEGIN
   DECLARE @blnWorkingDay bit
   SET @blnWorkingDay = 0
   WHILE @blnWorkingDay = 0
   BEGIN
       SET @pdtmStart = DATEADD(dd, 1, @pdtmStart)
       IF (DATEPART(dw, @pdtmStart) BETWEEN 2 AND 6)
       AND NOT EXISTS(SELECT * FROM trelPublicHoliday
       WHERE sdtmDate = @pdtmStart
       AND strISOCountryCode = @pstrISOCountryCode)
       BEGIN
           SET @blnWorkingDay = 1
       END
   END
   RETURN @pdtmStart
END

Signature

Mark Rae
ASP.NET MVP
http://www.markrae.net

Paul - 21 Mar 2008 00:17 GMT
Hi thanks for the additional information.  I was just wondering if there is a
source on the web that shows all of the holidays for the next 10 years,
including holidays that might show up on a weekend in one year and a weekday
on another year.
Signature

Paul G
Software engineer.

> > Hi thanks for the detailed information.  I only have to worry about
> > holidays
[quoted text clipped - 28 lines]
>     RETURN @pdtmStart
> END

Rate this thread:







Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.