Solved

Javascript Calculate Current Date, Plus 2 days, but skip weekends

Posted on 2009-05-08
3
928 Views
Last Modified: 2012-05-11
I have a js that works great to output a date two days from "today".  I would like it to skip weekend days. For example: If today is a Thursday, +2 days would be Saturday, but I would like the output date to be Monday, instead of Saturday.  Same thing for Fridays.

Current Script attached.
var dt = new Date();

dt.setDate(dt.getDate()+2);

var y  = dt.getYear();

if (y < 1000) y +=1900;

document.write((dt.getMonth()+1) +  "/" + dt.getDate() + "/" + y);

Open in new window

0
Comment
Question by:lexo
3 Comments
 
LVL 9

Expert Comment

by:wellhole
ID: 24337789
See http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_23467787.html for further information.
  //------------------------------------------------------------------

  // Name: nextWeekday()

  // Role: Determine the next weekday, remembering to skip holidays

  // Note: today is required to be a Date object

  //------------------------------------------------------------------

  function nextWeekday( today ) {

    var days = 'Sun,Mon,Tue,Wed,Thu,Fri,Sat'.split( ',' );

    var dow  = today.getDay();

    var tomorrow = new Date();

    tomorrow.setDate( tomorrow.getDate() + 1 );

    var tom  = tomorrow.getDay();

    var when = dateFormat( tomorrow );

    while ( tom < 0 || tom > 5 || holiday[ when ] ) {

      tomorrow.setDate( tomorrow.getDate() + 1 );

      tom  = tomorrow.getDay();

      when = dateFormat( tomorrow );

    }

//  alert( 'today is: ' + days[ dow ] + '\ntomorrow: ' + days[ tom ] );

    return when;

  }

Open in new window

0
 
LVL 3

Accepted Solution

by:
xbrady earned 500 total points
ID: 24337812
You can insert the following after adding the 2 days:
while(dt.getDay() == 0 || dt.getDay() == 6)
{
  dt.setDate(dt.getDate() + 1);
}
0
 

Author Closing Comment

by:lexo
ID: 31579523
Exactly what I was looking for!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you need to keep track of a simple list of numbers or strings, the Array object is your most direct tool.  As we saw in my earlier EE Article (http://www.experts-exchange.com/A_3488.html), typical array handling might look like this: (CODE) B…
This article discusses how to create an extensible mechanism for linked drop downs.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

929 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now