Nager.Date is a Date/Calendar Framework for .NET
- Public holiday calculation for every year, based on easter sunday, country and county support. Supports over 90 countries.
- Weekend information (supports 120 countries)
- Age calculation
If your country is not supported, fork me, implement it and send me the pull request.
The package is available on nuget
PM> install-package Nager.Date
If this project help you reduce time to develop, you can give me a beer 🍺
var publicHolidays = DateSystem.GetPublicHoliday("DE", 2017);
foreach (var publicHoliday in publicHolidays)
{
//publicHoliday...
}
var startDate = new DateTime(2016, 5, 1);
var endDate = new DateTime(2018, 5, 31);
var publicHolidays = DateSystem.GetPublicHoliday(CountryCode.DE, startDate, endDate);
foreach (var publicHoliday in publicHolidays)
{
//publicHoliday...
}
var date = new DateTime(2017, 1, 1);
if (DateSystem.IsPublicHoliday(date, CountryCode.DE))
{
Console.WriteLine("Is public holiday");
}
var date = new DateTime(2017, 1, 1);
if (DateSystem.IsWeekend(date, CountryCode.DE))
{
Console.WriteLine("Is weekend");
}
var date = new DateTime(1900, 1, 1);
var age = DateSystem.GetAge(date);
The list of supported countries can be found on the wiki.
- telephone systems
- carrier (land transport)
- time recording
Mark Seemann - Simple holidays
Language | Project | Supported Countries (November 2017) |
---|---|---|
PHP | yasumi | 29 |
JavaScript | date-holidays | 130 |
Java | jollyday | 64 |
.NET | Holiday | 21 |
Phyton | python-holidays | 20 |
Phyton | workalendar | 53 |