A Java library for calculating holidays and public holidays across different countries and regions.
Jollyday is a Java library designed to calculate holidays and public holidays for various countries and regions. It provides accurate date calculations based on configurable rules that account for different calendar systems, religious observances, and local regulations. The library helps developers integrate holiday logic into applications without manually managing complex date rules.
Java developers building applications that require holiday-aware scheduling, such as financial systems, payroll software, event planning tools, or international business applications.
Developers choose Jollyday for its comprehensive country coverage, flexible configuration via XML, and support for complex holiday rules. It eliminates the need to manually implement and maintain holiday logic, saving development time and ensuring accuracy across different regions.
Jollyday - A holiday API
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports holidays for numerous countries and subdivisions via XML configurations, ideal for global applications like payroll or scheduling systems.
Handles complex holiday rules including movable dates and lunar-based observances, ensuring accuracy for diverse cultural and regional requirements.
Offers versions compatible with both Joda-Time and Java Time API, providing flexibility for different Java project setups and future-proofing.
Uses XML files to separate holiday definitions from logic, allowing easy customization and addition of new regions without modifying core code.
The planned 0.6 branch will replace JAXB with JiBX/XStream, necessitating migration efforts and potential disruptions for existing users.
Customizing holidays requires editing XML files, which can be error-prone and less intuitive than a programmatic API, especially for developers unfamiliar with the schema.
With separate branches for Joda-Time and Java Time API, developers must carefully choose and maintain the correct version, adding complexity to dependency management.