Advertisement
sashomaga

DateTime

Jan 20th, 2013
44
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.55 KB | None | 0 0
  1. using System;
  2. //Write a method that calculates the number of workdays between today and given date, passed as parameter.
  3. class Program
  4. {
  5.     static void Main()
  6.     {
  7.         Console.WriteLine("Enter end date :");
  8.         DateTime end = DateTime.Parse(Console.ReadLine());
  9.         DateTime now = DateTime.Today;
  10.  
  11.         DateTime[] holidays =
  12.         {
  13.             new DateTime(2000, 1, 1),
  14.             new DateTime(2000, 3, 3),
  15.             new DateTime(2000, 5, 1),
  16.             new DateTime(2000, 5, 2),
  17.             new DateTime(2000, 5, 6),
  18.             new DateTime(2000, 5, 24),
  19.             new DateTime(2000, 9, 22),
  20.             new DateTime(2000, 12, 24),
  21.             new DateTime(2000, 12, 25),
  22.             new DateTime(2000, 12, 26),
  23.             new DateTime(2000, 12, 31),
  24.         };
  25.  
  26.         int workDays = 0;
  27.         for (DateTime i = now; DateTime.Compare(i, end) == -1; i = i.AddDays(1))
  28.         {
  29.             if (i.DayOfWeek != DayOfWeek.Sunday && i.DayOfWeek != DayOfWeek.Saturday)
  30.             {
  31.                 if (!IsHoliday(i, holidays))
  32.                 {
  33.                     workDays++;
  34.                 }              
  35.             }
  36.         }
  37.         Console.WriteLine("Work days:");
  38.         Console.WriteLine(workDays);
  39.     }
  40.  
  41.     private static bool IsHoliday(DateTime i, DateTime[] holidays)
  42.     {
  43.         foreach (DateTime item in holidays)
  44.         {
  45.             if (i.Day == item.Day && i.Month == item.Month)
  46.             {
  47.                 return true;
  48.             }
  49.         }
  50.         return false;
  51.     }
  52.  
  53.    
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement