是否有公共/政府网络服务可以让我了解特定年份的国定假日是什么?(对于美国和/或世界上的任何国家。)
编辑:有人有一套计算美国假期的公式吗?(如果可以选择,C# 将是我的首选语言。)
是否有公共/政府网络服务可以让我了解特定年份的国定假日是什么?(对于美国和/或世界上的任何国家。)
编辑:有人有一套计算美国假期的公式吗?(如果可以选择,C# 将是我的首选语言。)
你可以试试http://kayaposoft.com/enrico/。Enrico Service 是一项免费服务,为包括美国在内的多个国家/地区提供公共假期。美国或德国等国家的公共假期分别为每个州提供。您可以使用 Web 服务或 json 从 Enrico 获取公共假期。
http://www.holidaywebservice.com上有一个网络服务,它将提供美国、爱尔兰共和国、英格兰和苏格兰的假期日期。他们还出售 DLL 和源代码。
至于算法的细节,你可能比查看优秀的日历计算书(第三版)更糟糕,这是一本非常吸引人的读物,包括日历算法的示例 LISP 代码。
政府网络服务确实应该提供大量类似的信息。如果美国政府可以通过网络服务提供这样的信息,从长远来看肯定会节省很多钱和错误。哎呀,即使是可下载、可解析的格式,也是朝着正确方向迈出的一大步。
我在寻找一种方法来确保应用程序在工作日计算中跳过所有美国联邦假期时遇到了这个问题。我发现的最好的 .gov 来源是:
这包含我们需要到 2020 年的数据,但我们必须将其输入到我们自己的表格中。
没有人免费放弃这一点(世界上任何国家?变得真实)。最好的来源是 Copp Clark(我不隶属于)。它们为按金融市场、货币等划分的所有国家/地区提供所有假期。
可能需要进行一些解析,并且不是 100% 完成,但您可以使用wikipedia。
对于计算美国假期的方法/组件,基本上只需弄清楚所有主要假期和他们使用的“公式”。
对于那些永远不会改变的人,比如圣诞节,这很容易——12 月 25 日。
对于那些确实有所改变的人,通常有一个公式——比如二月的第三个星期一是总统日。您可以让该方法在给定的一年中解决这个问题。
这不适用于没有任何特定模式的假期(即,某些委员会决定每年的日期),但对于所有主要的假期,都有容易辨别的公式。
这实际上是测试驱动设计的绝佳候选者。您将知道特定年份的所有主要假期日期,因此您应该能够将该年份输入该方法并获得正确的答案。
我正在寻找类似的基于 PL/SQL 的东西。我找到了 jollyday (sourceforge)。它是 java 也许您可以将它与 c# 中的 ikvm 一起使用。遗憾的是,我无法将 java api 加载到我的 oracle rdbms 中……所以……如果您遇到纯 C 或 PL/SQL 解决方案,请告诉我 :-)
干杯克里斯