假期 - 是否有Java实现?

2022-08-31 15:28:42

我想知道是否有一个jar文件可以执行以下操作:

DateMidnight dateInQuestion = new DateMidnight(12,12,2000);
DateChecker.isNationalHoliday(dateInQuestion, Locale.ITALY);

如果没有,为什么?当然,在99%的时间里,有很多基于适当的假期规则。

现在,我们正在数据库中维护一个表格,对于国家+,当涉及到每年不在同一日期的假期时,我们有一些实施。我们必须为每个新国家/地区增加实施,以获得新客户。

我们能用更简单的方法做到这一点吗?

(如果在java领域没有这样的东西,我可以从其他语言移植它吗?


答案 1

我已经编写了Jollyday API,我很想知道它有什么“粗糙”之处。我该如何改进它?很高兴收到您的来信。如果您愿意,请向我发送电子邮件至 sdiedrichsen@yahoo.de。

顺便一提。Jollyday正好按照提问者的要求使用。请自己寻找。

干杯,斯文

附言:我从Ulrich Hilger那里找到了一个免费的网络服务,它提供了详细的全球假期信息。看看 api.daybase.eu


答案 2

据我所知,Java中没有任何健壮的东西。这也是有道理的,这种信息即对变化非常敏感。硬编码它会使你的代码在每次Java更新时都可能中断,这可能会导致大量的维护和兼容性问题。目前,在最高水平上,时区是在Java SE中硬编码/维护的,甚至单独使用,这已经导致了许多错误

相反,请使用公共Web服务。例如 http://www.bank-holidays.com

本网站通知您银行(以及许多国家的证券交易所和学校假期)因宗教或公共活动而关闭的所有日子。还列出了重大事件(选举,宣布的罢工,交易会,节日,体育赛事......)。

我们的免费服务允许您查看当前日历年(仅查看)。对于2欧元/国家/年,我们的PAY服务(点击信用卡图标)可让您访问2000-2070日历年。

并围绕它编写一个Java包装器。或者寻找现有的Java API,这些API已经得到了Web服务的支持。