HolidayCollectionIsHoliday Method
This method returns true if the specified date falls on a holiday or false if it does not
Namespace: EWSoftware.PDIAssembly: EWSoftware.PDI (in EWSoftware.PDI.dll) Version: 2023.1.2.0
public bool IsHoliday(
DateTime date
)
Public Function IsHoliday (
date As DateTime
) As Boolean
public:
bool IsHoliday(
DateTime date
)
member IsHoliday :
date : DateTime -> bool
- date DateTime
- The date to check to see if it is a holiday defined in this collection
BooleanReturns true if the date is a holiday in this collection, false if it is not
This example demonstrates the use of the holiday classes and their methods.
DateTime testDate;
int yearFrom = 1998, yearTo = 2006;
// Create a set of fixed and floating holidays
HolidayCollection holidays = new HolidayCollection();
holidays.AddFixed(1, 1, true, "New Year's Day");
holidays.AddFloating(DayOccurrence.Third, DayOfWeek.Monday, 1, 0, "Martin Luther King Day");
holidays.AddFloating(DayOccurrence.Third, DayOfWeek.Monday, 2, 0, "President's Day");
holidays.AddFloating(DayOccurrence.Last, DayOfWeek.Monday, 5, 0, "Memorial Day");
holidays.AddFixed(7, 4, true, "Independence Day");
holidays.AddFloating(DayOccurrence.First, DayOfWeek.Monday, 9, 0, "Labor Day");
holidays.AddFixed(11, 11, true, "Veteran's Day");
holidays.AddFloating(DayOccurrence.Fourth, DayOfWeek.Thursday, 11, 0, "Thanksgiving Day");
holidays.AddFloating(DayOccurrence.Fourth, DayOfWeek.Thursday, 11, 1, "Day After Thanksgiving");
holidays.AddFixed(12, 25, true, "Christmas Day");
// Display the holidays added to the list
Console.WriteLine("Holidays on file. Is Holiday should be true for all.");
foreach(Holiday hol in holidays)
Console.WriteLine("Holiday Date: {0:d} Is Holiday: {1} Description: {2}",
hol.ToDateTime(yearFrom), holidays.IsHoliday(hol.ToDateTime(yearFrom)),
hol.Description);
// Display holidays found in each year specified using the IsHoliday method
Console.WriteLine("Looking for holidays using the IsHoliday method");
testDate = new DateTime(yearFrom, 1, 1);
while(testDate.Year <= yearTo)
{
if(holidays.IsHoliday(testDate))
Console.WriteLine("Found holiday: {0:d}", testDate);
testDate = testDate.AddDays(1);
}
// One more time, but use a hash set using the dates returned by the HolidaysBetween()
// method. For bulk comparisons, this is faster than the above procedure using the
// IsHoliday method.
Console.WriteLine("Looking for holidays using HolidaysBetween");
var holidayDates = new HashSet<DateTime>(holidays.HolidaysBetween(yearFrom, yearTo));
if(holidayDates.Count != 0)
{
testDate = new DateTime(yearFrom, 1, 1);
while(testDate.Year <= yearTo)
{
if(holidayDates.Contains(testDate))
Console.WriteLine("Found holiday: {0:d} {1}", testDate,
holidays.HolidayDescription(testDate));
testDate = testDate.AddDays(1);
}
}
Dim testDate As DateTime
Dim holidayDates As HashSet(Of DateTime)
Dim yearFrom As Integer = 1998
Dim yearTo As Integer = 2006
Dim hol As Holiday
' Create a set of fixed and floating holidays
Dim holidays As New HolidayCollection()
holidays.AddFixed(1, 1, True, "New Year's Day")
holidays.AddFloating(DayOccurrence.Third, DayOfWeek.Monday, 1, 0, "Martin Luther King Day")
holidays.AddFloating(DayOccurrence.Third, DayOfWeek.Monday, 2, 0, "President's Day")
holidays.AddFloating(DayOccurrence.Last, DayOfWeek.Monday, 5, 0, "Memorial Day")
holidays.AddFixed(7, 4, True, "Independence Day")
holidays.AddFloating(DayOccurrence.First, DayOfWeek.Monday, 9, 0, "Labor Day")
holidays.AddFixed(11, 11, True, "Veteran's Day")
holidays.AddFloating(DayOccurrence.Fourth, DayOfWeek.Thursday, 11, 0, "Thanksgiving Day")
holidays.AddFloating(DayOccurrence.Fourth, DayOfWeek.Thursday, 11, 1, "Day After Thanksgiving")
holidays.AddFixed(12, 25, True, "Christmas Day")
' Display the holidays added to the list
Console.WriteLine("Holidays on file. Is Holiday should be true for all.")
For Each hol In holidays
Console.WriteLine("Holiday Date: {0:d} Is Holiday: {1} Description: {2}",
hol.ToDateTime(yearFrom), holidays.IsHoliday(hol.ToDateTime(yearFrom)),
hol.Description)
Next
' Display holidays found in each year specified using the IsHoliday method
Console.WriteLine("Looking for holidays using the IsHoliday method")
testDate = New DateTime(yearFrom, 1, 1)
Do While testDate.Year <= yearTo
If holidays.IsHoliday(testDate) = True Then
Console.WriteLine("Found holiday: {0:d}", testDate)
End If
testDate = testDate.AddDays(1)
Loop
' One more time, but use a hash set using the dates returned by the HolidaysBetween()
' method. For bulk comparisons, this is faster than the above procedure using the
' IsHoliday method.
Console.WriteLine("Looking for holidays using HolidaysBetween")
var holidayDates = new HashSet(Of DateTime)(holidays.HolidaysBetween(yearFrom, yearTo));
If holidayDates.Count != 0 Then
testDate = New DateTime(yearFrom, 1, 1)
Do While testDate.Year <= yearTo
If holidayDates.Contains(testDate) = True Then
Console.WriteLine("Found holiday: {0:d} {1}", testDate,
holidays.HolidayDescription(testDate))
End If
testDate = testDate.AddDays(1)
Loop
End If
No code example is currently available or this language may not be supported.
No code example is currently available or this language may not be supported.