Dimoto

Objects and Classes 1. Count Working Days

Jun 8th, 2016
897
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.70 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Globalization;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. class CountWorkingDays
  9. {
  10.     static void Main()
  11.     {
  12.         var startDateText = Console.ReadLine();
  13.         var endDateText = Console.ReadLine();
  14.  
  15.         var startDate = DateTime.ParseExact(startDateText, "dd-MM-yyyy", CultureInfo.InvariantCulture);
  16.         var endDate = DateTime.ParseExact(endDateText, "dd-MM-yyyy", CultureInfo.InvariantCulture);
  17.        
  18.         DateTime[] holidays = new DateTime[12];
  19.  
  20.         holidays[0] = new DateTime(endDate.Year, 01, 01);
  21.         holidays[1] = new DateTime(endDate.Year, 03, 03);
  22.         holidays[2] = new DateTime(endDate.Year, 05, 01);
  23.         holidays[3] = new DateTime(endDate.Year, 05, 06);
  24.         holidays[4] = new DateTime(endDate.Year, 05, 24);
  25.         holidays[5] = new DateTime(endDate.Year, 09, 06);
  26.         holidays[6] = new DateTime(endDate.Year, 09, 22);
  27.         holidays[7] = new DateTime(endDate.Year, 11, 01);
  28.         holidays[8] = new DateTime(endDate.Year, 12, 24);
  29.         holidays[9] = new DateTime(endDate.Year, 12, 24);
  30.         holidays[10] = new DateTime(endDate.Year, 12, 25);
  31.         holidays[11] = new DateTime(endDate.Year, 12, 26);
  32.  
  33.         var workingDayCounter = 0;
  34.  
  35.         for (var currentDate = startDate; currentDate <= endDate; currentDate = currentDate.AddDays(1))
  36.         {
  37.             var day = currentDate.DayOfWeek;
  38.             if (!holidays.Contains(currentDate) && !day.Equals(DayOfWeek.Saturday) && !day.Equals(DayOfWeek.Sunday))
  39.             {
  40.                 workingDayCounter++;
  41.             }
  42.         }
  43.         Console.WriteLine(workingDayCounter);
  44.     }
  45. }
Advertisement
Add Comment
Please, Sign In to add comment