Calculate next business day 

Newsgroups:  comp.unix.shell
Date:        Thu, 13 Oct 2005 16:17:51 +0200
> Hi, I need an algorightm (using bash script) to calculate next business
> day (in mm/dd/yyyy format). I'm not worried about Thanksgiving,
> Christmas etc. I just need to find out next business day so that it
> falls between Monday and Friday, given today.

with GNU date and bash:

d=1
while (($(date -d "$d days" +%u) >= 6)); do ((++d)); done
date -d "$d days" +%d/%m/%Y

Steffen Schuler

Calculate next business day 

> I just need to find out next business day so that it
> falls between Monday and Friday, given today.
[ $(LC_ALL=C date +%u) -gt 5 ] && echo "no work tomorrow" || echo "work tomorrow :-("

May be a way. Hoping more portable then GNU date and GNU bash. Setting LC_ALL should not be neccesary.

Calculate next business day 

> Hi, I need an algorightm (using bash script) to calculate next business
> day (in mm/dd/yyyy format).

All scripts I use take the date in YYYY-MM-DD format. It's easy enough to convert to your illogical format when you're finished.

Basically:

while :
do
   case $dow in
       [12345]) break ;;
       *) get_tomorrow        ## Use a function or GNU date
          get_dow $date   ## Functions available; see below
          ;;
   esac
done
echo $date   ## Format according to taste
> I'm not worried about Thanksgiving, Christmas etc. I just need to
> find out next business day so that it falls between Monday and
> Friday, given today.

For information on date arithmetic, see the comp.unix.shell FAQ <http://home.comcast.net/~j.p.h/cus-faq.html#6>, or see Chapter 8 of my book (see my .sig for the URL; that chapter is available on-line).

Chris F.A. Johnson                     <http://cfaj.freeshell.org>
==================================================================
Shell Scripting Recipes: A Problem-Solution Approach, 2005, Apress
<http://www.torfree.net/~chris/books/cfaj/ssr.html>