Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

C# number of workdays

Posted on 2009-05-12
8
Medium Priority
?
1,102 Views
Last Modified: 2012-05-06
Hello.

I would like to get number of working days in current month and year until today (C#).

e.g.: today is 12.5.2009 -->  8 working days
tomorrow it will be 13.5.2009 --> 9 working days


Thank you.
0
Comment
Question by:SimpleJ
  • 5
  • 2
8 Comments
 
LVL 3

Assisted Solution

by:crystal_tower
crystal_tower earned 400 total points
ID: 24363026
You need to count days without free ones, basic version:
- count all days without weekends, like:
DateTime theDateFrom;
DateTime theDateTo;
...
if(theDateFrom.DayOfWeek != DayOfWeek.Saturday && theDateFrom.DayOfWeek != DayOfWeek.Sunday)
   workdays++;
count till theDateFrom <= theDateTo

- however remember about bank holidays. Look for instance:
http://www.codeproject.com/KB/dotnet/HolidayCalculator.aspx

- finally, all depends on calendar. Saturday or Sunday could be a working day.

0
 
LVL 39

Expert Comment

by:abel
ID: 24363044
In http:Q_24377674.html I explained this process for VB, but that's the other way around (given the number of business days, how many "normal" days would that be?).
0
 
LVL 39

Accepted Solution

by:
abel earned 1600 total points
ID: 24363089

try again that link: http://Q_24377674.html

anyway, crystal_tower gave the same idea. Here's how I did it (full loop):
private int GetBusinessDays(DateTime dateFrom, DateTime dateTo)
{
    int countDays = 0;
    
    while (dateFrom < dateTo) {
        dateFrom = dateFrom.AddDays(1);
        DayOfWeek weekDay = dateFrom.DayOfWeek;
        if (weekDay != DayOfWeek.Saturday & weekDay != DayOfWeek.Sunday)  
        {
             countDays += 1;
        }
    }
    return countDays;
}

Open in new window

0
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
LVL 39

Expert Comment

by:abel
ID: 24363095
something wrong with my pasting of links at EE... Sorry about the clutter. Last time: http://www.experts-exchange.com/Programming/Languages/.NET/Visual_Basic.NET/Q_24377674.html
0
 
LVL 1

Author Comment

by:SimpleJ
ID: 24363544
Thank you
0
 
LVL 39

Expert Comment

by:abel
ID: 24363631
> I used abel s method.

nice and tx. You accidentally hit the "Accept and Award Point" of your own comment (which effectively makes your comment the solution, which it isn't), instead, I believe you wanted to assign points to me and crystal_tower. You can do so by clicking the "Accept Multiple Solutions". See screenshot for the difference between the two.

Note that the first one (the one in red) is only considered good if you found the solution yourself. Also see closing questions.

ScreenShot270.png
0
 
LVL 39

Expert Comment

by:abel
ID: 24363646
objection reviewers: see comment http:#24363631
0
 
LVL 1

Author Comment

by:SimpleJ
ID: 24363717
Thanks for the info.

0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Basic understanding on "OO- Object Orientation" is needed for designing a logical solution to solve a problem. Basic OOAD is a prerequisite for a coder to ensure that they follow the basic design of OO. This would help developers to understand the b…
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.
Suggested Courses

578 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