/ISHolidays

Holidays calculations for NSDate

Primary LanguageObjective-CMIT LicenseMIT

Build Status

ISHolidays

Holidays calculations for NSDate.

Note that date calculations are done exclusively in the Gregorian Calendar.

Supported countries:

  • 🇫🇷 FR - France
  • 🇺🇸 US - United States (federal holidays only)
  • Add your own! Submit a pull request! ✨

Examples

NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
dateComponents.year = 2017;
dateComponents.month = 12;
dateComponents.day = 25;

NSCalendar *gregorianCalendar = [NSCalendar calendarWithIdentifier:NSCalendarIdentifierGregorian];
NSDate *christmas = [gregorianCalendar dateFromComponents:dateComponents];

NSString *holidayName = [christmas localizedHolidayName];
NSLog(@"%@", holidayName); // "Noël"

BOOL isHoliday = [christmas isHoliday];
NSLog(@"%d", isHoliday); // YES

Localization

By default, the library uses the user's current locale to define the country for which to calculate the holidays. You can use +[ISHolidays holidayNameForDate:inLocale:] if you want to look up a holiday in a different locale (but check if that locale was implemented first, or you'll always get nil back).

Disclaimer

The developers of this library are French. It's difficult to find the correct information for each country holidays, so there may be mistakes. Please read the code for your native country/locale before using this library.