我可以调用公共/政府网络服务来了解特定年份的国家法定节假日吗?(适用于美国和/或世界上任何国家。)

编辑:有人有一套计算美国假期的公式吗?(如果可以选择的话,C# 将是我选择的语言。)

有帮助吗?

解决方案

有一个网络服务位于 http://www.holidaywebservice.com 其中将提供美国、爱尔兰共和国、英格兰和苏格兰的假期日期。他们还出售 DLL 和源代码。

至于算法的细节,你可以做得比查看优秀的更糟糕 历法计算 本书(第三版),对于所有日历问题来说都是一本非常有趣的读物,并且包括其日历算法的示例 LISP 代码。

其他提示

你可以试试 http://kayaposoft.com/enrico/. 。Enrico Service 是一项免费服务,为包括美国在内的多个国家/地区提供公共假期。美国或德国等国家的公共假期是每个州单独规定的。您可以使用 Web 服务或 json 从 Enrico 获取公共假期。

您可以订阅在线日历。例如,Google 提供美国假期:

伊卡 超文本标记语言

没有人会免费放弃这一点(世界上有哪个国家?现实一点)。最好的来源是 Copp Clark(我不隶属)。他们提供按金融市场、货币等细分的所有国家/地区的所有假期。

有大量类似的信息确实应该由政府网络服务提供。从长远来看,如果美国这样做,肯定会节省大量资金并减少错误。政府可以通过网络服务提供此类信息。哎呀,即使采用可下载、可解析的格式,也将是朝着正确方向迈出的一大步。

我在寻找一种方法来确保应用程序跳过所有美国时遇到了这个问题。联邦假日按工作日计算。我发现的最好的 .gov 来源是:

OPM 的运行状态时间表

其中包含我们到 2020 年所需的数据,但我们必须将其输入到我们自己的表中。

可能需要一些解析,并且它不是 100% 完成,但您可以使用 维基百科.

对于计算美国假期的方法/组件,基本上只需计算出所有主要假期及其使用的“公式”即可。

对于那些永远不会改变的人来说,比如圣诞节,这很简单——12 月 25 日。

对于那些确实有所变化的国家,通常有一个公式 - 例如二月的第三个星期一是总统日。您可以让该方法计算出给定年份的值。

这不适用于没有任何特定模式的假期(即,一些委员会每年决定日期),但对于所有主要假期,都有容易辨别的公式。

这实际上是测试驱动设计的一个很好的候选者。您将知道特定年份的所有主要假期日期,因此您应该能够将该年份输入该方法并获得正确的答案。

我正在寻找类似的基于 PL/SQL 的东西。我找到了jollyday(sourceforge)。它是java,也许你可以将它与c# 中的ikvm 一起使用。遗憾的是我无法将 java api 加载到我的 oracle rdbms 中......所以 ...如果您遇到纯 C 或 PL/SQL 解决方案,请告诉我:-)

欢呼克里斯

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top